rails s:在任何来源中都找不到rake-10.4.2(Bundler :: GemNotFound)

Sno*_*ash 19 rake gem rvm

当我开始使用rails时:

$ rails s
Run Code Online (Sandbox Code Playgroud)

我明白了:

/Users/snowcrash/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
Run Code Online (Sandbox Code Playgroud)

所以,我跑了bundle install:

$ bundle install
Using rake 10.4.2
Run Code Online (Sandbox Code Playgroud)

gem list rake给出:

*** LOCAL GEMS ***

rake (10.1.0, 10.0.4)
Run Code Online (Sandbox Code Playgroud)

怎么没有rake 10.4.2安装?

此外,当我运行bundle check它给我:

The Gemfile's dependencies are satisfied
Run Code Online (Sandbox Code Playgroud)

这似乎不正确.为什么?

====更新

我通过以下方式修复了问题rake:

gem install rake
Run Code Online (Sandbox Code Playgroud)

但为什么我必须手动安装它?我以为那是Bundler的工作.

并尝试再次启动rails给了我另一个问题:

Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)
Run Code Online (Sandbox Code Playgroud)

显然,这里存在一些潜在的问题.有什么建议?

And*_*yan 16

我使用rbenv为我的ruby 2.2.0安装有这个问题.通过反复试验修复.

我尝试过,gem install rake但这并没有解决它.所以我做了:

gem uninstall rake
rbenv global 2.1.1
rbenv rehash
rbenv uninstall rake #this time gives error "rake is a default gem"
rbenv global 2.2.0
rbenv rehash
gem install rake
rails s #works this time
Run Code Online (Sandbox Code Playgroud)

我的期望是在PATH或类似的地方可能存在冲突,并通过完全删除解决

我之前遇到过multi_json的错误.通过手动安装修复它gem install multi_json


Dmi*_*hev 9

我认为你的宝石与项目捆绑在一起(BUNDLED_PATH在项目.bundle/config中定义).

如果需要运行捆绑版本的rails服务器,则必须键入console

bundle exec rails s
Run Code Online (Sandbox Code Playgroud)

或者,您也可以生成捆绑的gem逗号的bin存根

bundle --binstubs
Run Code Online (Sandbox Code Playgroud)

并运行生成的存根

bin/rails s
Run Code Online (Sandbox Code Playgroud)