Ich habe tatsächlich versucht, NodeJS zusammen mit Npm auf meinem Ubuntu 17.04 zu installieren. Ich habe die Linux-Version von nodejs.org heruntergeladen und einen Softlink für node und nodejs erstellt. Beim Überprüfen der Version von NodeJS wird die Version angezeigt, die ich installiert habe, und ich bin damit einverstanden.
Jetzt habe ich versucht, dasselbe für npm zu tun. Ich habe versucht, einen Softlink für npm zu erstellen.
sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm
/usr/bin/npm
Ich weiß nicht, ob der von mir erstellte Link korrekt ist oder nicht. Aber beim Ausführen des npm -v
Befehls sehe ich die Version 5.0.3, die ich zu installieren versuche. Die Version wird angezeigt, aber direkt darunter sehe ich so etwas.
5.0.3
npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
software-installation
17.04
npm
sagar limbu
quelle
quelle
sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
wie empfohlen?Antworten:
Meine npm-Version ist 5.0.3 und ich habe das gleiche Problem, wenn ich einen npm-Befehl verwende:
Der Befehl funktioniert einwandfrei, aber dieser Code wird ohne ersichtlichen Grund weiterhin angezeigt. Ich habe von 5.0.3 auf 5.2.0 mit diesen Befehlen aktualisiert:
npm install -g npm
odernpm i -g npm
.Jetzt funktioniert npm einwandfrei.
quelle
npm
als root mit updatensudo npm i -g npm
. Aktualisiert npm auf 6.0.1Genau das gleiche Problem für mich, scheint aber nicht mit der Version zu tun zu haben (ich verwende npm 5.5.1). Das Reparieren der Rechte an
~/.config
machte den Trick für mich:Ich vermute, das hängt mit einem Besitzerproblem zusammen
~/.config/configstore/update-notifier-npm.json
.quelle
Ich hatte den Besitzer von gewechselt
und
zu $ USER: $ USER.
Ich vermute, dass
npm
sudo diese Datei erstellt hat. Zumindest auf meinem System finden wir Folgendes:Wenn
sudo npm
es also zum Erstellen codiert ist, wird~/configstore/update-notifier-npm.json
es im Home-Verzeichnis des normalen Benutzers ausgeführt. Das schafft ein Problem beim späteren Laufen,npm
ohnesudo
das man auch lesen und vielleicht schreiben will~/configstore/update-notifier-npm.json
. Aus irgendeinem Grund sind die Berechtigungen für beide 600.Seien Sie vorsichtig , wenn
chown
undchmod
alles unter -ing~/.config
, könnte es etwas empfindlich da sein.quelle
Bitte verwenden Sie nicht den
chown
in der Fehlermeldung angegebenen Befehl . Der Pfad~/.config
wird von vielen Anwendungen verwendet und ist ein Standardpfad zum Speichern von Konfigurationsinformationen. Es wird nicht empfohlen, die Gruppenrechte dort zu ändern. Besser nur den gewünschten Pfad ändern wie:Sonderfall: Docker
Ein häufiger Fall, um diesen Fehler zu erhalten, ist die Verwendung von Docker (insbesondere durch die Installation Ihres eigenen Hauses). Stellen Sie die Umgebungsvariablen wie
NPM_CONFIG_CACHE
und einXDG_CONFIG_HOME
. Der erste legt Ihren Cache-Pfad fest und der letzte legt Ihren Konfigurationsspeicherpfad fest. Ich würde den.config
Ordner im Ausgangsverzeichnis nicht verwenden , um Probleme mit dem Dateieigentum zu vermeiden. Die Verwendung von Cache hilft Diensten wie NPM jedoch, Bandbreite zu sparen. Versuchen Sie, übermäßige Downloads bei jedem Build zu vermeiden, und verwenden Sie so etwas (stellen Sie jedoch sicher, dass das Ziel/tmp
über ausreichend Speicherplatz verfügt):quelle
Nun, das erste, was wir tun können, um dieses Problem zu lösen, ist
Wenn dies Ihnen geholfen hat, zu wissen, was zu tun ist.
Hinweis: Das gleiche Verfahren kann auch nur für configstore im Ordner .config angewendet werden.
quelle