Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何解析/usr/bin/env:ruby:在rails4应用程序上使用sshkit和rvm时没有这样的文件或目录_Ruby On Rails 4_Rvm_Capistrano3_Sshkit - Fatal编程技术网

Ruby on rails 4 如何解析/usr/bin/env:ruby:在rails4应用程序上使用sshkit和rvm时没有这样的文件或目录

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任务
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