【问题标题】:Bundler cannot find rake but it seems installedBundler 找不到 rake,但它似乎已安装
【发布时间】: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。

捆绑包中包含的宝石: *活动模型(3.2.18) * 主动支持 (3.2.18) * amq 协议 (1.9.2) * amqp (1.3.0) * awesome_print (1.2.0) * bertha 调度程序 (1.1.9) * bertha_client (0.5.5) *生成器(3.0.4) *捆绑器(1.6.2) * 码雷 (1.1.0) * config_client (0.3.2) * 配置核心(1.0.2) * dao_core (2.6.3) * diff-lcs (1.2.5) * effin_utf8 (1.0) *事件机(1.0.3) *法拉第(0.8.9) * faraday_middleware (0.9.1) *哈希(2.0.5) * 高线 (1.6.21) * httparty (0.11.0) * i18n (0.6.9) * method_source (0.8.2) * multi_json (1.8.4) * multi_xml (0.5.5) * 多部分帖子 (1.2.0) * mysql2 (0.3.15) * 网络SCP(1.2.1) * net-sftp (2.1.2) * 网络 SSH (2.9.0) * 联系 (1.2.1) * opower-rake-tasks (0.0.2) * outbound_client (0.0.5) * 撬 (0.9.12.6) * rabbitmq_http_api_client (1.1.0) * 耙子 (10.3.1) * rspec (2.14.1) * rspec 核心 (2.14.8) * rspec-expectations (2.14.5) * rspec 模拟 (2.14.6) * 续集 (4.10.0) * 斜坡 (3.5.0) * 术语 ansicolor (1.3.0) * 雷神 (0.19.1) * 罐头 (1.1.0) * tools_core (1.3.0) *实用程序配置(1.0.4)

我检查了 .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 ruby​​gems-bundler-1.4.3 drwxr-xr-x 7 dru.solis 员工 238 5 月 9 日 23:17 rvm-1.11.3.9

rvm env 的输出:

导出 PATH="/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392/bin:/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global/bin: /Users/dru.solis/.rvm/rubies/ruby-1.9.3-p392/bin:$PATH" 导出 GEM_HOME='/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392' export GEM_PATH='/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392:/Users/dru.solis/.rvm/gems/ruby-1.9.3-p392@global' 导出 MY_RUBY_HOME='/Users/dru.solis/.rvm/rubies/ruby-1.9.3-p392' 导出 IRBRC='/Users/dru.solis/.rvm/rubies/ruby-1.9.3-p392/.irbrc' 取消设置 MAGLEV_HOME 未设置 RBXOPT

【问题讨论】:

  • 您并不总是需要bundle exec ... 来运行命令。你试过只做rspec spec/bdr_pre_dev_spec.rb吗?
  • 同样的问题 rspec spec/bdr_pre_dev_spec.rb BDR -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:in materialize':在任何源中都找不到 rake-10.3.1 (Bundler::GemNotFound)`

标签: ruby rspec gem rvm bundler


【解决方案1】:

所以,我终于设法让这个错误消失了。我开始认为这是一些奇怪的权限问题。

为了解决这个问题,我做了以下操作:

  • 打开磁盘实用程序、应用程序/实用程序/磁盘实用程序
  • 修复权限
  • 删除我项目中的 .bundle 目录
  • 删除我项目中的供应商目录
  • 删除 Gemfile.lock
  • bundle install

之后它开始工作而没有抱怨找不到 rake。疯子。啊。希望这对遇到同样问题的其他人有所帮助。

【讨论】:

  • 谢谢。我刚刚删除了我的整个项目,从 git 导入它,然后 rake 又开始正常工作了。不明白,但是... ^^
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
相关资源
最近更新 更多