捆绑安装错误:源不包含任何版本

Mar*_*elo 20 plugins rubygems ruby-on-rails

我的gem文件包含:

gem "breadcrumb", :git => "git@github.com:mjacobus/Breadcrumb.git"

gem "simple_menu", :git => "git@github.com:mjacobus/simple_menu.git"
Run Code Online (Sandbox Code Playgroud)

第一个gem按预期安装,但第二个失败.

Updating git@github.com:mjacobus/simple_menu.git
Fetching gem metadata from https://rubygems.org/........
Could not find gem 'simple_menu (>= 0) ruby' in git@github.com:mjacobus/simple_menu.git (at master).
Source does not contain any versions of 'simple_menu (>= 0) ruby'
Run Code Online (Sandbox Code Playgroud)

类似的帖子指出缺少.gemspec文件,但此文件存在.https://github.com/mjacobus/simple_menu/blob/master/simple_menu.gemspec

我可能正在做一些别人的眼睛能看到的蠢事.

编辑

我将repo克隆到vendor/plugins文件夹并更改了我的Gemfile

gem "simple_menu", :path => "vendor/plugins/simple_menu"
Run Code Online (Sandbox Code Playgroud)

捆绑安装问题现在出现错误:

bundle install
Fetching gem metadata from https://rubygems.org/.......
Could not find gem 'simple_menu (>= 0) ruby' in source at vendor/plugins/simple_menu.
Source does not contain any versions of 'simple_menu (>= 0) ruby'
Run Code Online (Sandbox Code Playgroud)

编辑2

我知道这是一个愚蠢的错误.宝石名称不正确.

https://github.com/mjacobus/simple_menu/commit/1afca04b08a084dafb9bdf6e595a2bb9a7b7a55f

d1j*_*i1b 24

正如马塞洛所说,我得到了同样的错误,这是一个愚蠢的事情:

gemspec文件

Gem::Specification.new do |s|
 s.name = 'niche_wir_theme' 
 ....
Run Code Online (Sandbox Code Playgroud)

宝石文件(包括)

gem 'niche-wir-theme', :git => 
....
Run Code Online (Sandbox Code Playgroud)

正如你在我的gemspec中看到的那样,我使用("_")下划线命名,在我的gemfile上,我试图用" - "(短划线)来调用它...

(掌上)所以只需要处理名称符号,你在gemspec文件中声明的那个与你在另一个项目的gem文件中用于调用的那个可能是不同的


小智 10

我遇到了与Rails 4.2类似的问题.在我的情况下,这是另一个愚蠢的错误.看来如果你在gemspec文件的注释中留下"TODO"或"FIXME",它将拒绝该gem并抛出相同的错误.请务必阅读bundle命令的输出.


Mar*_*elo 5

gemspec文件名为simplemenu.gemspec而不是simple_menu.gemspec.