Ruby on rails 宝石定制
我在geokit gem中添加了一些缓存功能,并使用gemcutter创建了一个副本“badnaam geokit”。唯一的改变是在Geocoders.rb中,如果我只是在本地修改它,它就可以正常工作 然而,在我将它发布到rubygems并安装它并要求它在我的environment.rb(config.gem“badnaam geokit”)文件中作为“badnaam geokit”后,我得到了一个讨厌的消息 有什么想法吗 这是我在github上的叉子 这是宝石。Ruby on rails 宝石定制,ruby-on-rails,rubygems,geokit,Ruby On Rails,Rubygems,Geokit,我在geokit gem中添加了一些缓存功能,并使用gemcutter创建了一个副本“badnaam geokit”。唯一的改变是在Geocoders.rb中,如果我只是在本地修改它,它就可以正常工作 然而,在我将它发布到rubygems并安装它并要求它在我的environment.rb(config.gem“badnaam geokit”)文件中作为“badnaam geokit”后,我得到了一个讨厌的消息 有什么想法吗 这是我在github上的叉子 这是宝石。 虽然您的gem已更改名称,
虽然您的gem已更改名称,但库名称未更改。您的
config.gem
行告诉Rails加载gem,然后require'badnaam geokit'
,但是您的gem中没有这个名称的文件
要解决此问题,请使用:lib
选项config.gem
:
config.gem 'badnaam-geokit', :lib => 'geokit'
此外,不鼓励将gems推到Rubygems进行类似的更改。我建议您将Rails项目切换到(which),然后使用
:git
选项直接从Github fork加载gem。我使用了:lib选项
这就是成功的原因
config.gem“badnaam geokit”,lib=>“geokit”谢谢。我会记住这一点。不过,您推荐的解决方案会产生相同的错误。我加入了:require选项,但似乎没有任何效果。我也需要安装常规geokit gem吗?哎呀,
:require
是捆绑机选项:lib
是config.gem
选项。您的答案是在@wuputah的答案之后发布的,您可能应该删除您的答案并接受他的答案。
config.gem 'badnaam-geokit', :lib => 'geokit'