Estoy usando un marco que ejecuta npm
y webpack
automáticamente, el directorio /usr/lib/node_modules
tiene 755 permisos que requieren ejecutar npm
a través de sudo
. El marco que uso no permite agregar sudo
al comando.
Ahora necesito instalar paquetes npm en forma global (por ejemplo, npm install webpack -g
) sin usar sudo
.
Qué permisos estarán bien para /usr/lib/node_modules
? Si establezco permisos 777, ¿estará bien y será seguro?
¡Gracias!
Respuesta aceptada:
No es necesario modificar permiso de npm
para poder usarlo sin sudo
. PARA configurar npm
para ejecutar sin sudo
sigue estos pasos:
Opción 1:
-
Obtenga la ruta del directorio npm:
npm config get prefix
-
Si tienes
/usr
ir a la opción 2 de lo contrario, cambie el propietario de los directorios npm al suyo:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Opción 2:
-
Crear directorio para instalaciones globales:
mkdir ~/.npm-global
-
Configure para usar ese directorio:
npm config set prefix '~/.npm-global'
-
Abra o cree
~/.profile
y agrega esto:export PATH=~/.npm-global/bin:$PATH
-
Agregue esto también a su
~/.bashrc
archivo (opcional) :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
-
Actualizar los archivos:
source ~/.bashrc
-
Prueba ejecutando:
npm install -g jshint
fuente:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
http://www.competa.com/blog/como-ejecutar-npm-sin-sudo/