【问题标题】:Bundle: Not found with Capistrano捆绑包:Capistrano 未找到
【发布时间】:2014-05-06 09:57:40
【问题描述】:

我在部署 Rails 应用时遇到了一些麻烦。

我收到了这条消息:

sh: 1:
bundle: not found

这是我的 gemfile(只有 capistrano 部分):

gem "capistrano", "2.15.5"

这是我的部署(只是关于 rbenv 的重要部分)

set(:deploy_to) { "/home/#{user}/#{application}_#{rails_env}" } 设置 :default_environment, { 'PATH' => '$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH' }

当我在服务器上输入ruby -v 时,我得到ruby 2.0.0p247。当我输入which bundle 时,我得到/home/paul/.rbenv/shims/bundle

有什么问题?为什么我会收到此消息?

感谢您的帮助。

【问题讨论】:

标签: ruby-on-rails capistrano


【解决方案1】:

Capistrano 在非常基本的 shell 中执行命令,因此 $PATH 环境与您通过 SSH 登录时的环境不同。

解决此问题的一种方法是在 /etc/sshd_config 中将 PermitUserEnvironment 设置为 yes,然后将正确的 PATH 添加到 ~/.ssh/environment

另一种方法是

在你config/deploy.rb添加以下sn-p

set :default_environment, {
  'PATH' => "/opt/ruby-enterprise/bin/:$PATH"
}

【讨论】:

  • 我应该在哪里添加 PermitUserEnvironment ?在服务器上还是在我的电脑上?
  • 在服务器上将代码 sn-p 粘贴到config/deploy.rb
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多