Sto usando un framework che esegue npm e webpack automaticamente, la directory /usr/lib/node_modules dispone di 755 autorizzazioni che richiedono l'esecuzione di npm tramite sudo . Il framework che utilizzo non consente di aggiungere sudo al comando.
Ora ho bisogno di installare i pacchetti npm in forma globale (ad esempio, npm install webpack -g ) senza usare sudo .
Quali permessi andranno bene per /usr/lib/node_modules ? Se imposto i permessi 777 sarà OK e sicuro?
Grazie!
Risposta accettata:
Non è necessario modificare l'autorizzazione di npm per poterlo usare senza sudo . PER impostare npm da eseguire senza sudo segui questi passaggi:
Opzione 1:
-
Ottieni il percorso della directory npm:
npm config get prefix -
Se hai
/usrvai all'opzione 2 altrimenti cambia il proprietario delle directory npm nella tua:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Opzione 2:
-
Crea directory per installazioni globali:
mkdir ~/.npm-global -
Configura per utilizzare quella directory:
npm config set prefix '~/.npm-global' -
Apri o crea
~/.profilee aggiungi questo:export PATH=~/.npm-global/bin:$PATH -
Aggiungi questo anche al tuo
~/.bashrcfile (facoltativo) :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 -
Aggiorna i file:
source ~/.bashrc -
Prova eseguendo:
npm install -g jshint
fonte:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
http://www.competa.com/blog/how-to-run-npm-without-sudo/