Gem [已解决] 制作 Gem 包时,在 .gemspec 添加了 add_dependency,可仍然要在 Rails 的 Gemfile 里写上依赖的包,否则不能正常运行?

nine · 2015年10月31日 · 最后由 jjfujj 回复于 2016年04月21日 · 1735 次阅读

打了个gem包 需要加载 kaminari

如果在 .gemspec 里写上

spec.add_dependency 'kaminari'

bundle install 就可以正常执行了。 但是在项目里仍然需要添加

gem 'kaminari'

否则会提示

undefined method `page' for #<ActiveRecord::Relation []>

求正确的打开方式。

共收到 4 条回复

your_gem/lib/your_gem.rb

require 'kaminari'

我猜是这样的,每个项目可能对同一个library version的依赖不一,所以还需要根据依赖声明文件(比如gemfile)load,而且是根据version去load。

正确的解答在这里:

bundle命令在install的时候,是依据运行命令的当前目录的gemfile里面的声明来安装gem的。

gemspec是该gem包被使用时候的依赖声明。

5楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册