我试图打电话的node.js的安装通过SSH运行Ubuntu的远程服务器上不可用。节点已经通过nvm安装。的Node.js通过ssh
ssh方式连接的,并呼吁节点工作得很好:
[email protected]:~$ ssh [email protected]
(Server welcome text)
[email protected]:~$ which node
/home/user/.nvm/v0.10.00/bin/node
但是如果我合并成一条线:
[email protected]:~$ ssh [email protected] "which ls"
/bin/ls
[email protected]:~$ ssh [email protected] "which node"
节点的迹象,所以我想采购的.bashrc并等待10秒:
[email protected]:~$ ssh [email protected] "source ~/.bashrc; sleep 10; which node"
只有节点似乎受此影响。我注意到的一件事是,如果我ssh在,然后检查我在其中的shell说-bash
,而如果我ssh直接它给了我/bin/bash
。我试图运行一个bash登录shell中的命令:
[email protected]:~$ ssh [email protected] 'bash --login -c "which node"'
仍然一无所获。
基本上我的问题是:为什么不是来砸找到我的node.js安装时,我把它称为非交互的SSH?
我已经运行它的ssh -t用户@ REMOTESERVER“的节点”,但它仍然不找到它。向.ssh/config文件添加RequestTTY似乎也没有效果。 – TDN169
我也试过ssh -t user @ remoteserver“bash --rcfile〜/ .bashrc -c'哪个节点'”似乎没有效果。 – TDN169
我刚刚尝试过: ssh -t user @ remoteserver'export NVM_DIR =“/ home/user/.nvm”; [-s“$ NVM_DIR/nvm.sh”] &&。 “$ NVM_DIR/nvm.sh”;哪个节点“,这是工作! – TDN169