Bundler无法找到我可以使用gem install安装的gem

时间:2015-06-02 12:09:07

标签: ruby gem bundler rbenv

我正在并行开发两个宝石,一个包含一些纯ruby功能,另一个包含Rails接口。

Rails gem(rwanda-rails)依赖于.gemspec中带有spec.add_runtime_dependency "rwanda" "~> 0.6.0"的纯Ruby gem(卢旺达)。但是,由于某些原因,bundler无法找到这个新版本 - 尽管我可以使用gem install安装它:

15:40 slack@kevin:~/rails/rwanda-rails[master]$ gem install rwanda
Successfully installed rwanda-0.6.0
Parsing documentation for rwanda-0.6.0
Done installing documentation for rwanda after 0 seconds
1 gem installed
15:48 slack@kevin:~/rails/rwanda-rails[master]$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "rwanda~> 0.6.0":
  In Gemfile:
    rwanda-rails (>= 0) ruby depends on
      rwanda~> 0.6.0 (>= 0) ruby
Could not find gem 'rwanda~> 0.6.0 (>= 0) ruby', which is required by gem 'rwanda-rails (>= 0) ruby', in any of the sources.

确认已安装rwanda

15:50 slack@kevin:~/rails/rwanda-rails[master]$ gem list
*** LOCAL GEMS ***

[...]
rwanda (0.6.0)

Bundler配置为在~/vendor/bundle/中安装gem:

15:50 slack@kevin:~/rails/rwanda-rails[master]$ ls -1 ~/vendor/bundle/gems/
[...lots of gems...]
rwanda-0.4.0
rwanda-0.5.3
rwanda-0.6.0

我想我很困惑Bundler安装宝石的地方以及它为什么找不到似乎可用的宝石。

我使用ruby 2.2.1,通过gem目录中的.ruby-version进行设置。 $ GEM_PATH和$ GEM_HOME没有设置(它们应该是吗?rbenv会照顾它吗?)。

我还安装然后删除了rbenv-bundler(在找到rbenv开发人员的警告之后)并担心它可能会留下一些干扰的东西?

我为rbenv安装了三个插件:binstubs,gem-rehash和ruby-build。

我还尝试了rbenv rehashbundle install --binstubsbundle update(其失败的信息与bundle install相同。

1 个答案:

答案 0 :(得分:2)

好像你错过了gem名称和gemspec中的版本之间的,

spec.add_runtime_dependency("rwanda", "~> 0.6.0")