我有一个 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
答案 0 :(得分:0)
您的服务器环境中似乎没有安装 bundler gem(它将提供 bundle
可执行文件)。
您可以使用 gem install bundler
或 gem install bundler -v VERSION
安装 bundler(VERSION
是您用于开发应用程序的确切版本的 bundler,在您的 {{ 1}}。