
Ich verwende ein Framework, das automatisch ausgeführt wird npm
. webpack
Das Verzeichnis /usr/lib/node_modules
verfügt über 755 Berechtigungen, die zum Durchlaufen erforderlich sind npm
. sudo
Das von mir verwendete Framework erlaubt keine Hinzufügung sudo
zum Befehl.
Jetzt muss ich NPM-Pakete in globaler Form (z. B. ) installieren, npm install webpack -g
ohne zu verwenden sudo
.
Welche Berechtigungen sind zulässig /usr/lib/node_modules
? Wenn ich die Berechtigungen 777 einstelle, ist das zulässig und sicher?
Danke schön!
Antwort1
Sie müssen nicht ändernErlaubnisum npm
es ohne verwenden zu können . Um es für den Betrieb ohne sudo
einzurichten , folgen Sie diesen Schritten:npm
sudo
Option 1:
Pfad des npm-Verzeichnisses abrufen:
npm config get prefix
Wenn du hast
/usr
gehe zu Option 2andernfalls ändern Sie den Besitzer der npm-Verzeichnisse zu Ihrem:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Option 2:
Verzeichnis für globale Installationen erstellen:
mkdir ~/.npm-global
Konfigurieren Sie die Verwendung dieses Verzeichnisses:
npm config set prefix '~/.npm-global'
Öffnen oder erstellen
~/.profile
und fügen Sie Folgendes hinzu:export PATH=~/.npm-global/bin:$PATH
Fügen Sie Ihrer
~/.bashrc
Datei auch dies hinzu (optional):export PATH=/home/username/.npm-global/bin:$PATH export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
Aktualisieren Sie die Dateien:
source ~/.bashrc
Testen Sie dies, indem Sie Folgendes ausführen:
npm install -g jshint
Quelle:
https://docs.npmjs.com/getting-started/fixing-npm-permissions