1
嗨我试图使用ruby net/ssh gem(2.0.24)连接到远程服务器并运行rake任务。我可以使用下面概述的脚本运行其他简单的任务,但是rake失败。ruby net/ssh无法远程执行rake命令
这是我的代码
Net::SSH.start("myremote_server", 'ubuntu', :keys => ['abcdef.pem'], :paranoid => false, :verbose => :debug) do |ssh|
result = ssh.exec!("cd a_rails_directory; rake sunspot:solr:start")
puts result
ssh.loop
end
,我得到了以下错误消息
rake aborted!
uninitialized constant Bundler
/home/ubuntu/a_rails_directory/config/boot.rb:9:in `rescue in <top (required)>'
/home/ubuntu/a_rails_directory/config/boot.rb:5:in `<top (required)>'
/home/ubuntu/a_rails_directory/config/application.rb:1:in `<top (required)>'
/home/ubuntu/a_rails_directory/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
当我ssh-到我可以很容易地运行rake TAKS远程服务器手动,但它不适用于net/ssh,正如我上面所概述的那样。
不知何故,我觉得我没有连接适当的shell或正确访问路径变量,但我不知道,我也不知道如何解决它。 有什么想法?
TIA
尝试在你的产品环境中执行'bundle exec rake ...'。 –