在我的gemfile中从Github指定一个gem的分叉版本时,“找不到gem”错误
我正在尝试使用searchlogic gem的这个分叉版本 。 在我的gemfile中,我有
gem "searchlogic", :git => "http://github.com/railsdog/searchlogic.git"
当我进行bundle install
,我收到此错误:
Could not find gem 'searchlogic (>= 0, runtime)' in http://github.com/railsdog/searchlogic.git (at master). Source does not contain any versions of 'searchlogic (>= 0, runtime)'
导致此错误的原因是什么? 谢谢阅读。
这是因为你的fork没有通过rd_searchlogic gem定义searchlogic gem。 所以在你的Gemfile中使用:
gem "rd_searchlogic", :git => "rd_searchlogic.gemspec", :require => "searchlogic"
使用:
gem 'rd_searchlogic', :git => 'https://github.com/railsdog/searchlogic.git', :require => 'searchlogic'
你的fork的.gemspec
可能包含与RubyGems上的gem不同的名称,例如当我在GitHub上分叉active_merchant时,他们的.gemspec
文件具有:
s.name = 'activemerchant'
但是gem在RubyGems上被定义为active_merchant所以我改变了我的Gemfile:
gem "active_merchant", git: "https://github.com/adamwaite/active_merchant.git", require: "active_merchant"
至:
gem "activemerchant", git: "https://github.com/adamwaite/active_merchant.git", require: "active_merchant"
注意缺少_。
之后一切都很完美。 这可能是一个不起眼的案例,但希望它可以帮助某人!
它看起来不像是为Rails3升级了gem。 从Github中列出的问题来看,似乎searchlogic严重依赖于ActiveRecord2,并且可能无法为Rails 3轻松升级。可能值得研究另一种选择。
searchlogic会与Rails 3一起使用吗?
- Heroku运行rake db:迁移错误,“没有这样的文件加载 – bundler / setup”
- Rails3服务器和bundler错误:未初始化的常量Bundler(NameError)
- bundle install导致“在此上下文中不允许映射值”错误
- 你能在Gemfile中拥有多个版本的gem吗?
- 使用bundler时,如何在Gemfile中使用gem?
- Bundler找不到某个版本的gem,但是同名的gem install有效
- 如何在Rails 5.0.0上修复bundle install“nio4r error”
- 捆绑将所选组安装到自定义路径中
- 在能够使用Capistrano进行部署之前,是否需要在我的服务器上手动安装Bundler?