GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Knotenmodule haben 755-Berechtigungen. Welche Berechtigungen sollte ich festlegen, damit Npm kein Sudo benötigt?

Ich verwende ein Framework, das npm ausführt und webpack automatisch das Verzeichnis /usr/lib/node_modules haben 755 Berechtigungen, die zum Ausführen von npm erforderlich sind über sudo . Das von mir verwendete Framework erlaubt das Hinzufügen von sudo nicht zum Befehl.

Jetzt muss ich npm-Pakete in globaler Form installieren (z. B. npm install webpack -g ) ohne Verwendung von sudo .

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

Vielen Dank!

Akzeptierte Antwort:

Sie müssen die Berechtigung nicht ändern von npm um es ohne sudo verwenden zu können . npm einrichten ohne sudo auszuführen Gehen Sie folgendermaßen vor:

Möglichkeit 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 von npm-Verzeichnissen in Ihren:

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

Möglichkeit 2:

  1. Verzeichnis für globale Installationen erstellen:

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

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

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


Ubuntu
  1. Sudo:/var/lib/sudo/navneet Beschreibbar für Nicht-Eigentümer (040777), sollte Modus 0700 sein?

  2. Wie bekomme ich Jshint zum Laufen?

  3. Node.js-Konflikte:/sbin/node Vs /usr/bin/node?

  4. Was sollten die idealen Home-Verzeichnisberechtigungen in Linux sein?

  5. Als welcher Benutzer sollten Apache und PHP ausgeführt werden? Welche Berechtigungen sollten /var/www-Dateien haben?

So installieren Sie Node.js und NPM unter Ubuntu 18.04

Wie installiere ich Node.js und Npm in Ubuntu?

Was macht sudo apt-get update?

Installieren Sie Node.js 17 und NPM auf Debian 11 Bullseye

Wie richte ich einen Apt-Cacher-Server ein?

Was ist ein Homelab und warum sollten Sie eines haben?