跑耙时缺少宝石

时间:2011-09-11 21:34:47

标签: ruby ruby-on-rails-3.1

我正在使用rbenv和Ruby 1.9.2-p290,Rails 3.1,数据库是MySQL。

当我尝试

rake db:create

我收到以下错误:

Could not find multi_json-1.0.3 in any of the sources

我也试过bundle exec rake db:create

我的GemFile看起来像这样:

source 'http://rubygems.org'

gem 'rails', '3.1.0'
gem 'mysql2'
gem 'json'

group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

5 个答案:

答案 0 :(得分:4)

相当陈旧,但万一有其他人遇到这个并正在寻找真正的答案:升级您的捆绑宝石。

答案 1 :(得分:4)

对我来说,既没有工作,也没有工作。

总是得到:

Could not find multi_json-1.3.0 in any of the sources

它对我有用的是删除Gemfile.lock并再次运行bundle install

它安装了新版本的multi_json:

Installing multi_json (1.3.2) 

答案 2 :(得分:3)

我也使用Rails 3.1应用程序+ rails引擎遇到了这个问题。 bundle exec rake -T报告了您报告的错误。

为我解决的是运行以下命令告诉bundler使用以下命令将gem安装到应用程序中的本地'vendor / bundle'路径:

bundle install --path=vendor/bundle

我这样做后,bundle exec rake -T工作正常。

答案 3 :(得分:2)

我遇到了同样的问题,并使用Jorge的答案来解决问题:

bundle update multi_json

这只是更新multi_json,而不是所有其他宝石,当您删除Gemfile.lock并运行“bundle install”时可能会发生这种情况。

答案 4 :(得分:1)

始终通过bundle exec运行命令。这样您就可以加载应用程序所需的正确环境。使用它像:

bundle exec rake db:migrate

还要确保您实际运行bundle install以安装所有必需的gem及其依赖项。