Ruby on rails 4 如何解析/usr/bin/env:ruby:在rails4应用程序上使用sshkit和rvm时没有这样的文件或目录
我正在尝试在远程系统上运行rake任务Ruby on rails 4 如何解析/usr/bin/env:ruby:在rails4应用程序上使用sshkit和rvm时没有这样的文件或目录,ruby-on-rails-4,rvm,capistrano3,sshkit,Ruby On Rails 4,Rvm,Capistrano3,Sshkit,我正在尝试在远程系统上运行rake任务rake entrprise:pull 来自Rails应用程序,rake任务使用sshkit,我使用的是rvm 耙任务 require 'sshkit' require 'sshkit/dsl' include SSHKit::DSL namespace :app do desc "pulls the records form remote server" task :pull => :environment do host = SS
rake entrprise:pull
来自Rails应用程序,rake任务使用sshkit,我使用的是rvm
耙任务
require 'sshkit'
require 'sshkit/dsl'
include SSHKit::DSL
namespace :app do
desc "pulls the records form remote server"
task :pull => :environment do
host = SSHKit::Host.new("username@ip")
on host do |h|
within("/home/username/my-rails-app/") do
execute :rake, "enterprise:pull"
end
end
end
end
在controller中,我调用rake任务如下
def index
%x(rake app:pull)
end
rake app:pull试图在远程系统中运行rake企业:pull
,此时它正在抛出/usr/bin/env:ruby:没有这样的文件或目录
错误
但是当我ssh到远程系统sshusername@ip
如果运行“rake enterprise:pull”,其工作正常。我的rails应用程序是使用capistrano-3和rvm部署的
如何解决此问题?检查路径设置Echo$path输出:
/usr/local/rvm/gems/ruby-2.2.1/bin:/usr/local/rvm/gems/ruby-2.2。1@global/bin:/usr/local/rvm/rubies/ruby-2.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games:/usr/local/rvm/bin:/home/ubuntu/.rvm/bin:/home/ubuntu/.rvm/bin