我用 NVM 安装了 node.js,它注册了一个带有可执行文件的附加文件夹。它向 $PATH 变量添加新路径,并在其中一个文件中.profile
某个位置执行此操作。
因此,当我通过手动ssh
登录时,一切都可用,npm
可用。但是,当我尝试像ssh myhost.com "npm install"
一样执行远程脚本时,它会失败并显示npm not found
.
发生这种情况是因为当我远程运行ssh
时,它不会加载.profile
。
有没有简单的方法可以修复它? 即以某种方式告诉ssh
使用与手动登录完全相同的环境?
.profile
加载登录shell 时,如 bash 手册页中所述。您可以修改命令以运行登录外壳:
ssh myhost.com "bash -l -c 'npm install'"