Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

352
Vistas
NodeJS en servidor de producción - permisos

Quiero tener un node y npm disponibles para cualquier usuario que esté en el sistema.

En nuestro equipo, cuando alguien actualiza el código de git, ejecuta: sudo -u www-data git pull

Entonces, sea cual sea el proyecto, siempre pasamos por www-data user.

Ahora tenemos un nuevo proyecto Node y necesitamos hacer lo mismo. No hay forma de que en nuestro servidor de producción confíemos en que un usuario se encargue de todo lo relacionado con el nodo. ¿Qué pasa si se va mañana?

Por lo tanto, no estamos usando NVM, sino instalando Node como root como se describe aquí

Está todo bien, y todos los usuarios ven el ejecutable de node y npm . Los problemas comienzan cuando realmente tratamos de usarlos.

Lo que quieres hacer es:

 cd /var/www/node_project sudo -u www-data git pull sudo -u www-data npm install

Esto falla en el último comando, porque npm está intentando escribir un archivo de lock en mi directorio de inicio. Entonces: /home/user/.npm en lugar de algún lugar a nivel mundial o /var/www/.npm , que sería el directorio de inicio para el usuario de www-data.

Similar a eso, después de instalar

sudo npm install -g typings

Y luego, al ejecutar sudo -u www-data typings install , obtiene un error, porque está tratando de escribir /home/user/.config/configstore/insight-typings.json

¿Podría alguien explicar cómo instalar correctamente el nodo en el servidor? Si ejecuto sudo -u www-data ¿cómo es que npm ins sigue yendo a mi carpeta de inicio?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede especificar el directorio para instalaciones globales de algún usuario:

establecer prefix = ~/.where_to_install en ~/.npmrc

luego agregue la ubicación adecuada de la variable PATH para los ejecutables (como ~/.npm/bin )

Por cierto, ¿cuál es el directorio de inicio de www-data en su caso?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda