
Tengo todos los paquetes npm instalados para un usuario en particular (es decir), no root (/home/otheruser/*)
Estoy usando monit para ver si debo verificar que el programa se esté ejecutando. En este caso es pm2, que está en
/home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2
No puedo usar pm2 incluso cuando intenté usar la ruta completa de otros usuarios en la terminal, incluso con el usuario root. No dio ningún resultado o no pasó nada allí como se muestra a continuación.
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2 list
cada vez que ejecuto módulos de nodo con diferentes usuarios como
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/forever -v
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/db-migrate -v
root@server:~$ /home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2 -v
Y obtengo lo siguiente en el syslog
node[5791]: No AX.25 port data configured
node[5791]: No AX.25 port data configured
node[5791]: No AX.25 port data configured
Cómo hacer que eso funcione con otros usuarios
Respuesta1
nvmNo es un programa real. Es una función bash que se carga en el .profile, .bashrc o ... del usuario, por lo que sudo no la recoge automáticamente de $PATH como la mayoría de los otros programas.
Puedes crear un enlace simbólico y luego intentar acceder a él.
sudo ln -s "/home/otheruser/.nvm/versions/node/v5.2.0/bin/pm2" "/usr/local/bin"
Respuesta2
Debe agregar lo siguiente en la variable de entorno del usuario registrado (raíz) en el que está intentando ejecutar el comando pm2 y luego funcionará
NVM_DIR="/home/otheruser/.nvm"
NVM_BIN="/home/otheruser/.nvm/versions/node/v15.5.1/bin"
PATH="/home/otheruser/.nvm/versions/node/v10.15.3 /papelera"