【发布时间】:2014-06-28 09:21:56
【问题描述】:
我在使用 bundler 和 rake 时遇到了一些困难。根据错误信息,bundler 找不到 rake-10.3.1。事情是这样的,我所做的一切似乎都表明已经安装了 rake-10.3.1。我已经在 google-sphere 中漂浮了几天,但没有找到可以为我解决这个问题的解决方案。
我使用的是 Mac OSX 10.8.5。 Ruby 版本是 1.9.3-p392。
错误:
bundle exec rspec 规范/bdr_pre_dev_spec.rb /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/spec_set.rb:92:in `materialize': 找不到 rake- 10.3.1 在任何来源 (Bundler::GemNotFound) 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/spec_set.rb:85:in `map!' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/spec_set.rb:85:in `materialize' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/definition.rb:133:in `specs' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/definition.rb:178:in `specs_for' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/definition.rb:167:in `requested_specs' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/environment.rb:18:in `requested_specs' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/runtime.rb:13:in `setup' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler.rb:120:in `setup' 来自 /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/setup.rb:17以下是我做过的事情:
- 炸毁 Gemfile.lock 并尝试
bundle install。这会重新安装 gems 并清楚地显示 rake-10.3.1 正在安装,但是当我运行 rspec 时它仍然说找不到 rake。 - 手动尝试使用
gem install rake -v 10.3.1安装gem,这也表明已安装rake-10.3.1,但rspec 命令仍会抛出相同的错误。 - 在 Gemfile 中明确指定 rake 10.3.1,炸掉 Gemfile.lock 和
bundle install - 卸载 rake(找到所有版本)
gem uninstall rake并使用gem install rake -v 10.3.1重新安装 rake - 卸载我正在使用的 ruby 版本,然后使用
rvm uninstall ruby-1.9.3-p392然后rvm install ruby-1.9.3-p392重新安装。 - 将捆绑程序降级到 1.6.1
- 卸载并重新安装捆绑程序
-
rvm implode并重新安装rvm
这些都不能解决问题。
bundle show 表示已安装 rake-10.3.1。
我检查了 .rvm 目录中是否存在 rake-10.3.1 gem,它就在那里。
ls /Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems 共 0 drwxrwxr-x 10 dru.solis 员工 340 5 月 9 日 23:22。 drwxrwxr-x 11 dru.solis 员工 374 5 月 9 日 23:16 .. drwxr-xr-x 18 dru.solis 员工 612 5 月 9 日 23:17 bundler-1.6.2 drwxr-xr-x 8 dru.solis 员工 272 5 月 9 日 23:16 bundler-unload-1.0.2 drwxr-xr-x 12 dru.solis 员工 408 5 月 9 日 23:16 可执行挂钩-1.3.1 drwxr-xr-x 13 dru.solis 员工 442 5 月 9 日 23:16 gem-wrappers-1.2.4 drwxr-xr-x 16 dru.solis 员工 544 5 月 9 日 23:20 rake-10.3.1 drwxr-xr-x 3 dru.solis 员工 102 5 月 9 日 23:16 rdoc-3.9.5 drwxr-xr-x 13 dru.solis 员工 442 5 月 9 日 23:16 rubygems-bundler-1.4.3 drwxr-xr-x 7 dru.solis 员工 238 5 月 9 日 23:17 rvm-1.11.3.9rvm env 的输出:
【问题讨论】:
-
您并不总是需要
bundle exec ...来运行命令。你试过只做rspec spec/bdr_pre_dev_spec.rb吗? -
同样的问题
rspec spec/bdr_pre_dev_spec.rbBDR -PRE- Dev pipeline:/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.6.2/lib/bundler/spec_set.rb:92:inmaterialize':在任何源中都找不到 rake-10.3.1 (Bundler::GemNotFound)`
标签: ruby rspec gem rvm bundler