26

我的 gem 文件包含:

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

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

第一个 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'

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

我可能正在做一些别人的眼睛可以看到的愚蠢的事情。

编辑

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

gem "simple_menu", :path => "vendor/plugins/simple_menu"

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

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'

编辑 2

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

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

4

3 回答 3

26

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

宝石规格文件

Gem::Specification.new do |s|
 s.name = 'niche_wir_theme' 
 ....

宝石文件(包括)

gem 'niche-wir-theme', :git => 
....

正如您在我的 gemspec 中看到的那样,我使用 ("_") 下划线命名,而在我的 gemfile 中,我试图用 "-" (破折号) 来调用它...

(palmface) 所以只需注意名称符号,您在 gemspec 文件中声明的符号与您在另一个项目的 gem 文件中用于调用的符号可能不同

于 2013-08-06T20:22:09.093 回答
10

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

于 2015-10-16T18:36:23.333 回答
5

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

于 2013-07-09T23:37:09.033 回答