1

我正在使用 Capistrano 在暂存环境中部署 Rails 应用程序。cap deploy:update工作正常,但乘客不断报告这一点 Could not find mysql2-0.3.11 in any of the sources (Bundler::GemNotFound)

我确实执行了bundle installbundle list并且gem list都将 gem 显示为已安装,并且在工作正常下需要 db 访问的操作rails console,所有这些都在服务器上。在我的机器上一切正常。

我正在使用 RVM、Ruby 1.9.3、Rails 3.2.8,这是 deploy.rb 的相关部分:

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
require "rvm/capistrano" # Load RVM's capistrano plugin.

是乘客问题,是我对 Capistrano 做错了什么,还是 gem 版本有问题?

4

1 回答 1

0

好吧,在我尝试了一切之后,我发现答案很简单:

bundle install --deployment(在服务器上)

这在我的应用程序的文件夹中安装了所有必要的宝石,vendor现在一切正常

编辑: 或者更好,在 deploy.rb 中:

require "bundler/capistrano"

于 2012-11-07T14:56:10.833 回答