Capistrano v3 任务无法启动独角兽服务器,出现错误"eval:找不到bundle"



我正在使用capistrano v3使用nginx的Unicorn部署Rails 4应用程序。

Capistrano最近的正式文档后,我设法设置了与部署本身有关的所有内容:

我使用gems'Capistrano'," Capistrano-Bundler"," Capistrano-Rails"one_answers" Capistrano-RVM",当我做cap production deploy时,一切似乎都在没有任何错误消息(存储库中)在服务器上,资产预先编译等)。

此时,如果我通过SSH连接到SEVE并键入/etc/init.d/unicorn start服务器按预期启动,服务于我的Rails App。

但是,我创建了一个与Capistrano V3自动化的任务,该任务看起来像:

namespace :unicorn do
  desc 'Start Unicorn'
  task :start do
    on roles(:app) do
      within current_path do
        execute "/etc/init.d/unicorn start"
      end
    end
  end
  desc 'Stop Unicorn'
  task :stop do
    on roles(:app) do
      within current_path do
        execute "/etc/init.d/unicorn stop"
      end
    end
  end
end

但是,每当我尝试capistrano deploy unicorn:start时,都会收到以下错误:

/etc/init.d/unicorn: 1: eval: bundle: not found
cap aborted!
/etc/init.d/unicorn start stdout: Nothing written
/etc/init.d/unicorn start stderr: Nothing written

甚至陌生的是,当我手动启动独角兽然后做cap production unicorn:stop时,它无缝地工作。

我怀疑通过SSH登录时可用环境变量有一些差异,因此我配置了" RVM_BIN_PATH"," PATH"one_answers" GEM_PATH"与服务器相同,但我仍然会遇到相同的错误。

>

我的想法已经用完了,任何人都知道是什么原因?

欢呼。

当在部署服务器RVM1-capistrano上使用RVM时,请为您节省。您可以将此模板用作操作方法

相关内容

最新更新