我和jake一起尝试了launch,但是当我想部署我的node.js应用时,我会在此过程中得到这个:
$ ssh mydomain.com sudo stop site.WebApp-production && sudo start site.WebApp-production
sudo: no tty present and no askpass program specified
✘ Failed to restart site
jake aborted.
Error
at fail (/usr/local/lib/node_modules/jake/lib/api.js:235:13)
at /Users/udo/Projects/WebApp/Jakefile.coffee:31:16
at ChildProcess.exports.remote (/Users/udo/Projects/WebApp/node_modules/launch/lib/action.js:39:5)
at ChildProcess.EventEmitter.emit (events.js:91:17)
at Process._handle.onexit (child_process.js:674:10)
你知道怎么摆脱这个吗?我正在远程机器上使用Debian 6.
由于
答案 0 :(得分:3)
尝试ssh -t
,这会在运行命令时强制TTY分配。这对sudo
来说已经足够了,至少在我的Mac上尝试将SSH命令导入我的Ubuntu boxen时。
答案 1 :(得分:0)
ssh <host> <command>
尝试在没有任何交互的情况下在主机上运行该命令。在您的情况下,sudo
需要一个密码,由于它不是交互式会话,因此无法获取密码。如果你真的想要这个,请配置sudo接受你而不要求密码。
编辑:同样,ssh <host> <command1> && <command2>
将在本地计算机上运行command2,而不是在远程计算机上运行。