GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

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:

  1. Obtenga la ruta del directorio npm:

    npm config get prefix
    
  2. 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:

  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 ~/.profile y agrega esto:

    export PATH=~/.npm-global/bin:$PATH
    
  4. 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
    
  5. Actualizar los archivos:

    source ~/.bashrc
    
  6. 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/


Ubuntu
  1. Sudo:/var/lib/sudo/navneet Escribible por no propietario (040777), ¿Debería ser el modo 0700?

  2. Conflictos de Node.js:/sbin/node Vs /usr/bin/node?

  3. ¿Cuáles deberían ser los permisos de directorio de inicio ideales en Linux?

  4. ¿Con qué usuario deberían ejecutarse apache y PHP? ¿Qué permisos deben tener los archivos /var/www?

  5. ¿Qué permisos deben tener los archivos/carpetas de mi sitio web en un servidor web Linux?

Cómo instalar Node.js y NPM en Ubuntu 18.04

¿Cómo instalar Node.js y Npm en Ubuntu?

¿Qué hace sudo apt-get update?

Instale Node.js 17 y NPM en Debian 11 Bullseye

¿Cómo configurar un servidor Apt-cacher?

¿Qué es un Homelab y por qué debería tener uno?