J'utilise un framework qui exécute npm et webpack automatiquement, le répertoire /usr/lib/node_modules avoir 755 autorisations qui nécessitent d'exécuter npm via sudo . Le framework que j'utilise ne permet pas d'ajouter sudo à la commande.
Maintenant, je dois installer les packages npm sous forme globale (par exemple, npm install webpack -g ) sans utiliser sudo .
Quelles autorisations seront OK pour /usr/lib/node_modules ? Si je définis 777 autorisations, est-ce que ce sera OK et sécurisé ?
Merci !
Réponse acceptée :
Vous n'avez pas besoin de modifier l'autorisation de npm pour pouvoir l'utiliser sans sudo . POUR configurer npm pour fonctionner sans sudo suivez ces étapes :
Option 1 :
-
Obtenir le chemin du répertoire npm :
npm config get prefix -
Si vous avez
/usrpassez à l'option 2 sinon changez le propriétaire des répertoires npm pour le vôtre :sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Option 2 :
-
Créer un répertoire pour les installations globales :
mkdir ~/.npm-global -
Configurez pour utiliser ce répertoire :
npm config set prefix '~/.npm-global' -
Ouvrir ou créer
~/.profileet ajoutez ceci :export PATH=~/.npm-global/bin:$PATH -
Ajoutez ceci également à votre
~/.bashrcfichier (optionnel) :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 -
Actualisez les fichiers :
source ~/.bashrc -
Testez en exécutant :
npm install -g jshint
sources :
https://docs.npmjs.com/getting-started/fixing-npm-permissions
http://www.competa.com/blog/how-to-run-npm-without-sudo/