Rails 3.2 - “bundle install”因重新安装Ruby后Gemnasium错误而失败

时间:2014-11-26 18:49:11

标签: ruby-on-rails ruby gem capistrano bundler

我正在开发一个我继承的应用程序,所以有时候遇到与我无法解决的配置相关的东西。长话短说:我使用rbenv来管理我本地机器上的ruby版本,最近我试图删除一个我不会使用的Ruby版本,并且意外删除了我的应用程序中使用的版本(版本是1.9.3- P392)。

所以我使用rbenv重新安装1.9.3-p392并在我的app目录中运行bundle install但是出现以下错误:

Could not find gem 'gemnasium (>= 0) ruby' in the gems available on this machine. 

运行rails consolerails server时出现同样的错误。为了解决问题,我运行gem install gemnasium并收到以下错误:

ERROR:  Could not find a valid gem 'gemnasium' (>= 0) in any repository

...这是有道理的,因为当我去rubygems.org,没有" Gemnasium"宝石。因此,我不知道为什么gem "gemnasium"在Gemfile中开始使用或者它用于什么。

为了继续尝试继续讨论该问题,我只是在gem 'gemnasium'中注释了Gemfile。但是,当我尝试使用Capistrano部署到Staging到资产预编译部分时,这样做会导致以下问题:

INFO[ce9f38e3] Running bundle exec rake assets:precompile on http01-staging.my_app.com
DEBUG[ce9f38e3] Command: cd /u/apps/my_app/releases/20141126184705 && ( RAILS_ENV=staging bundle exec rake assets:precompile )
DEBUG[ce9f38e3]     rake aborted!
DEBUG[ce9f38e3]     LoadError: cannot load such file -- gemnasium
/u/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/u/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
/u/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
/u/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
/u/apps/my_app/releases/20141126184705/lib/tasks/gemnasium.rake:2:in `block in <top (required)>'
/u/apps/my_app/releases/20141126184705/lib/tasks/gemnasium.rake:1:in `<top (required)>' 

所以...基本上我不知道为什么Gemnasium会在这里开始或如何成功地将它恢复到我的Gemfile中。任何想法??

1 个答案:

答案 0 :(得分:1)

看来您的gemonsium gem已弃用(并且未在rubygems.org中显示,您应该尝试直接从github上的源代码安装。

将以下行添加到Gemfile并运行bundle install

gem 'gemnasium', :git => 'git://github.com/gemnasium/gemnasium-gem.git'