it-swarm.com.de

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

Ich verwende ein Framework, das npm und webpack automatisch ausführt. Das Verzeichnis /usr/lib/node_modules verfügt über 755 Berechtigungen, für die npm bis Sudo ausgeführt werden müssen. Das von mir verwendete Framework erlaubt es nicht, Sudo zum Befehl hinzuzufügen.

Jetzt muss ich npm-Pakete in globaler Form installieren (z. B. npm install webpack -g), ohne Sudo zu verwenden.

Welche Berechtigungen sind für /usr/lib/node_modules in Ordnung? Wenn ich 777-Berechtigungen einstelle, ist das in Ordnung und sicher?

Dankeschön!

3
Indu Pillai

Sie müssen Erlaubnis von npm nicht ändern, um es ohne Sudo verwenden zu können. Gehen Sie folgendermaßen vor, um npm so einzurichten, dass es ohne Sudo ausgeführt wird:

Option 1:

  1. Pfad des npm-Verzeichnisses abrufen:

    npm config get prefix
    
  2. Wenn Sie /usr haben, gehen Sie zu Option 2 . Andernfalls ä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. Erstellen Sie ein Verzeichnis für globale Installationen:

    mkdir ~/.npm-global
    
  2. Konfigurieren Sie, um dieses Verzeichnis zu verwenden:

    npm config set prefix '~/.npm-global'
    
  3. Öffne oder erstelle ~/.profile und füge dies hinzu:

    export PATH=~/.npm-global/bin:$PATH
    
  4. Fügen Sie dies auch Ihrer ~/.bashrc -Datei 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. Test durch Laufen:

    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/

9
George Udosen