Knotenmodule haben 755 Berechtigungen. Welche Berechtigungen muss ich festlegen, damit npm kein sudo erfordert?

Knotenmodule haben 755 Berechtigungen. Welche Berechtigungen muss ich festlegen, damit npm kein sudo erfordert?

Ich verwende ein Framework, das automatisch ausgeführt wird npm. webpackDas Verzeichnis /usr/lib/node_modulesverfügt über 755 Berechtigungen, die zum Durchlaufen erforderlich sind npm. sudoDas von mir verwendete Framework erlaubt keine Hinzufügung sudozum Befehl.

Jetzt muss ich NPM-Pakete in globaler Form (z. B. ) installieren, npm install webpack -gohne 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 npmes ohne verwenden zu können . Um es für den Betrieb ohne sudoeinzurichten , folgen Sie diesen Schritten:npmsudo

Option 1:

  1. Pfad des npm-Verzeichnisses abrufen:

    npm config get prefix
    
  2. 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:

  1. Verzeichnis für globale Installationen erstellen:

    mkdir ~/.npm-global
    
  2. Konfigurieren Sie die Verwendung dieses Verzeichnisses:

    npm config set prefix '~/.npm-global'
    
  3. Öffnen oder erstellen ~/.profileund fügen Sie Folgendes hinzu:

    export PATH=~/.npm-global/bin:$PATH
    
  4. Fügen Sie Ihrer ~/.bashrcDatei 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
    
  5. Aktualisieren Sie die Dateien:

    source ~/.bashrc
    
  6. Testen Sie dies, indem Sie Folgendes ausführen:

    npm install -g jshint
    

Quelle:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm-without-sudo/

verwandte Informationen