Los módulos de nodo tienen 755 permisos, ¿qué permisos debo configurar para que npm no requiera sudo?

Los módulos de nodo tienen 755 permisos, ¿qué permisos debo configurar para que npm no requiera sudo?

Estoy usando un marco que se ejecuta npmautomáticamente webpack, el directorio /usr/lib/node_modulestiene 755 permisos que requieren npmejecutarse sudo. El marco que uso no permite agregar sudoal comando.

Ahora necesito instalar paquetes npm en forma global (por ejemplo, npm install webpack -g) sin usar sudo.

¿Para qué permisos estarán bien /usr/lib/node_modules? Si configuro los permisos 777, ¿estará bien y será seguro?

¡Gracias!

Respuesta1

No necesitas alterarpermisode npmpoder usarlo sin sudo. PARA configurar npmpara ejecutar sin sudoseguir estos pasos:

Opción 1:

  1. Obtener la ruta del directorio npm:

    npm config get prefix
    
  2. si tienes/usr ir a la opción 2De lo contrario, cambie el propietario de los directorios npm al suyo:

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

Opcion 2:

  1. Crear directorio para instalaciones globales:

    mkdir ~/.npm-global
    
  2. Configure para usar ese directorio:

    npm config set prefix '~/.npm-global'
    
  3. Abra o cree ~/.profiley agregue esto:

    export PATH=~/.npm-global/bin:$PATH
    
  4. Agregue esto también a su ~/.bashrcarchivo (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
    
  5. Actualizar los archivos:

    source ~/.bashrc
    
  6. Pruebe ejecutando:

    npm install -g jshint
    

fuente:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm- without-sudo/

información relacionada