Gem rails-settings-cached 相关问题

geekontheway · 2012年02月16日 · 最后由 geekontheway 回复于 2012年02月17日 · 3965 次阅读

@huacnlee,最近在项目制作一个 gem,要用到 rails-settings-cached,所以在 gemspec 中 s.add_dependency "rails-settings-cached" 以及在 lib/engine.rb 中添加

require "rails-settings"

然后引用我们这个 gem 制作新项目的时候,会提示:

no such file to load -- rails-settings

如果改为在 lib/engine.rb 中

require "rails-settings-cached"

又会报错

no such file to load -- rails-settings-cached

后来反应过来是需要在我的 Gem 项目中 bundle install,果然 OK 了

所以问题是:require "rails-settings"和 require "rails-settings-cached"都可以,但是修改了 gemspec 和 engine.rb 之后必须 bundle install?

gemspec 里面加入 add_dependency 不会引用的,只是告诉 Gem 安装的时候需要什么 Gem 而你在你编写那个 Gem 的 Gemfile 需要引用 gem 'rails-settings-cached' 此外,不需要 require 了,会自动载入的

#1 楼 @huacnlee 我现在想做的是当我在项目 Gemfile 中引用我编写的这个 gem。假设叫 foo,而 foo 在.gemspec 文件和 engine.rb 文件中配置了rails-settings-cached,所以我就不需要在项目的 Gemfile 中手动添加gem 'rails-settings-cached'

你看看 http://github.com/huacnlee/carrierwave-aliyun 是怎么做的,它也引用了另外的 Gem

#3 楼 @huacnlee 非常感谢,先去看看

需要 登录 后方可回复, 如果你还没有账号请 注册新账号