Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

353
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda