【问题标题】:Rails does not load gems from vendor/gemsRails 不从供应商/宝石加载宝石
【发布时间】:2012-07-11 15:12:05
【问题描述】:

我在 Rails 2 上有一个奇怪的旧项目。
它在 config/environment.rb 中具有 gem 的依赖项,例如

config.gem "andand"
config.gem "json"
config.gem "chronic"
config.gem "mini_fb"

所有这些宝石都位于 vendor/gems/

andand-1.3.3/
chronic-0.6.7/
json-1.7.3/
mini_fb-1.1.7/
rbet-1.0.3/
redis-3.0.1/
responsys_client-0.0.1/

但是当我用这个应用程序启动独角兽服务器时,它总是抱怨它找不到这个宝石。为什么?

更新

在从 vendor/gems rails 构建和安装 gem 之后仍然抱怨它。

我已将 mini_fb gem 调整为自定义 mini_fb_custom gem。将 gemspec 和其他文件中的所有引用从 mini_fb 更改为 mini_fb_my,安装它并在 gem list 中显示为 mini_fb_my。但它无法从 config/environment.rb 加载并抱怨

Missing these required gems:
  mini_fb_my  >= 0

也许我应该将 lib/mini_fb.rb 重命名为 lib/mini_fb_my.rb 我去看看。

更新 2
是的,重命名文件太棒了!

【问题讨论】:

  • 您是否从这些目录安装了 gem?

标签: ruby-on-rails gem


【解决方案1】:

您仍然需要从这些文件夹中安装它们,否则 unicorn 将不知道在哪里寻找它们。

只需从该目录安装 gems,unicorn 就会将它们拾取。

更新

您可以使用此命令在本地安装您的 gems

gem install --local vendor/gems/gem/gem-name.gem

在最新版本的 Rails 中,您只需在 Gemfile 上指定路径

gem "gem-name", path: "path/to/gem"

【讨论】:

  • 你能指导我怎么做吗? rake gems:install 之类的东西?有一些自定义插件不在全局 gems 存储库中,他们会安装吗?
  • hm 似乎没有安装任何东西
  • 您的更新有效,但没有帮助。我更新了原始问题。
  • 请这是一个完全不同的问题,所以创建一个新问题...我相信现在您已经自定义了 gem 名称和 require 不同...粘贴我新问题并我会尝试回答。请将答案标记为正确,因为问题不应该改变,它确实解决了它最初提出的问题
【解决方案2】:

我的建议:用bundler 替换过时的gem 配置(它适用于rails 2,他们的网站上应该有关于rails 2 的教程)。

通过gem 命令进行配置、冻结宝石等只是a** 中的痛苦,当我使用它时(很久以前),它对我来说似乎有点麻烦。

【讨论】:

    猜你喜欢
    • 2011-11-16
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多