Redmine rake 任务失败

Redmine rake tasks failing

在 SO 上发帖看起来像是 rubygem 的问题。我正在尝试 运行 在我的 redmine 安装的 cronjob 中执行 rake 任务,但它失败并显示错误 gem not found。以下是日志:

Bundler::GemNotFound: Could not find i18n-0.6.11 in any of the sources
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/spec_set.rb:94:in `block in materialize'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/spec_set.rb:87:in `map!'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/spec_set.rb:87:in `materialize'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/definition.rb:137:in `specs'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/definition.rb:182:in `specs_for'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/definition.rb:171:in `requested_specs'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/environment.rb:18:in `requested_specs'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/runtime.rb:13:in `setup'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler.rb:92:in `setup'
/var/lib/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/setup.rb:18:in `<top (required)>'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/home/ubuntu/redmine-2.6.3/config/boot.rb:6:in `<top (required)>'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/ubuntu/redmine-2.6.3/config/application.rb:1:in `<top (required)>'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/home/ubuntu/redmine-2.6.3/Rakefile:5:in `<top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/rake_module.rb:28:in `load'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/rake_module.rb:28:in `load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:689:in `raw_load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:94:in `block in load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:93:in `load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:77:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rake-10.4.2/bin/rake:33:in `<main>'
rake aborted!

现在我不太确定为什么找不到 i18n-0.6.11,因为我也在全局安装了它(使用 rvm)。此外,正在使用的 gem 集显示为 /var/lib/gems/1.9.1/gems,这与我的 gems 目录不同。安装详细信息为:

Redmine安装目录:~/redmine
RubyGems 目录:/usr/local/rvm/gems/ruby-1.9.3-p551/gems

尝试在redmine目录下执行bundle install,然后再尝试启动redmine服务器

问题是我使用 rvm 进行 ruby 版本管理,但我还安装了 ruby 表单 ubuntu 源并且执行 rake 任务的 cron 正在使用安装的系统 ruby.所以解决方案是 运行:
rvm cron setup