Rails capistrano /usr/bin/env 没有文件或这样的目录

时间:2021-02-25 09:59:56

标签: ruby-on-rails ruby capistrano

我有一个 RoR 应用程序,当我尝试通过 capistrano 部署到我的服务器时,我收到此错误消息

/.rvm/gems/ruby-2.6.4@railsapp1/gems/sshkit-1.21.2/lib/sshkit/command.rb:97:in `exit_status=': bundle exit status: 127 (SSHKit::Command::Failed)
bundle stdout: Nothing written
bundle stderr: /usr/bin/env: bundle: No such file or directory

当 capistrano 运行任务 bundler:config(下面)时会发生这种情况

00:52 bundler:config
      01 bundle config --local deployment true
      01 /usr/bin/env: bundle
      01 : No such file or directory

谁能帮我解决这个问题?我的服务器正在使用 ruby​​ 虚拟环境而不是 rvm 和 rbnev

编辑:

我已经安装了 bundler,但要运行它我必须..假设先用这个脚本激活 ruby​​

/home/myusername/rubyvenv/staging_rails__app1/2.6/bin/activate

而且我已经将该脚本作为第一个执行的任务添加到 capistrano 中,但是错误仍然存​​在,我有什么想念的吗?

namespace :deploy do
  before 'git:wrapper', :run_on_server
end

task :run_on_server do
  on roles(:app) do
    execute 'source /home/myusername/rubyvenv/staging_rails__app1/2.6/bin/activate' 
  end
end

1 个答案:

答案 0 :(得分:0)

您的服务器环境中似乎没有安装 bundler gem(它将提供 bundle 可执行文件)。

您可以使用 gem install bundlergem install bundler -v VERSION 安装 bundler(VERSION 是您用于开发应用程序的确切版本的 bundler,在您的 {{ 1}}。