这是我的错误:
rake aborted!
Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to your command may solve this.
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:34:in `block in setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:19:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
我无法执行任何耙任务,这似乎是我所有其他问题的根源。几天前,当我运行rake命令时,情况并非如此。谁能解释这是怎么回事以及如何使我的应用恢复正常?我撞墙了。另外,bundle exec
并不能解决我的问题根源。过去我从来不需要这样做,现在仍然无法使用。
编辑2:您应该查看bundle update
并稍微更改工作流程。请参阅this question以获取更多帮助。
原始答案
这是一个简单的问题,当您的宝石集的耙版本比Gemfile.lock
提到的版本号新时。
如错误消息中所述,您可以使用bundle exec
使工作正常。
在这种情况下,我的解决方案是仅删除Gemfile.lock
,如果我不太担心其他gem版本及其无穷的依赖关系。否则,您可以尝试仅删除Gemfile.lock
中有关rake版本的一行。运行bundle install
,世界应该再次成为幸福的地方。 (编辑2:运行bundle update --source
代替此。不要这样做。)
PS:尝试将gemsets and organising your gems with rvm用于不同的项目。
编辑
我现在更喜欢使用rbenv来管理安装,并且使用vendor/bundle
选项将项目的所有gem驻留在bundle install --path
中。以后用bundle exec
限制每个gem命令。
因此,rails s
变为bundle exec rails s
。在我看来,多打字是更好的选择,如果这意味着事情将保持干净并且不会发生诸如此类的冲突。
我尝试了另一种方法,即删除sudo apt-get install nodejs
,然后运行Gemfile.lock
。之后,我运行bundle install
。而且一切正常。
如前所述,这是一个简单的问题,当您的宝石集的耙版本比Gemfile.lock
提到的版本号新时。
进入bundle install
,找到rake文件并在那里更新版本。
我有相同的错误:
我遇到类似的问题。我的解决方案是在文件Gemfile中更改耙版本“ gem'rake','〜> 10.3'”的行,删除Gemfile.lock并运行“ bundler install”,新的Gemfile.lock将显示新版本10.3.1。然后一切都会好的。
我遇到了这个问题:
这也对我有用:bundle update puma
对于Rails版本5或6,请尝试使用“ rails”命令:
您可以使用rubygems-bundler
解决此问题。运行以下命令:
$ gem install rubygems-bundler
$ gem regenerate_binstubs
然后再试一次耙。
对我有用的简单解决方案是只运行bundle update rake
。
我有一个类似的问题,我对从Gemfile.lock
中删除一行持怀疑态度,这似乎很麻烦,并且给每个rake命令加上bundle exec
带来的不便也不是一种选择。我首先进入Gemfile.lock
以查看其中存在哪个版本的C0(在我的情况下为11.1.2),以解决此问题。我的想法是卸载rake
并安装此版本。运行rake
给出以下输出:
选择要卸载的宝石:
- rake-10.5.0
- rake-11.1.1
- rake-11.1.2
- rake-11.2.2
- rake-11.3.0
- 所有版本
我同时卸载了gem uninstall rake
和rake-11.2.2
。解决了我的问题
使用此:
rake-11.3.0
键入此命令:
gem install rake -v "version-you-want"
根据此解决方案(对我有用):bundle update rake
您可以使用https://stackoverflow.com/a/23668399/4260090解决它>
在终端中键入这些命令:
rubygems-bundler
现在应该可以工作
$ gem install rubygems-bundler
$ gem regenerate_binstubs
也对我有用。
尝试安装nodejs,这解决了我的问题。