1

我在 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/

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

更新

从供应商/宝石导轨构建和安装宝石后,仍然抱怨它。

我已将 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
是的,重命名文件很糟糕!

4

2 回答 2

1

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

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

更新

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

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

在更新版本的 rails 上,您只需在 Gemfile 上指定路径

gem "gem-name", path: "path/to/gem"
于 2012-07-11T15:15:09.120 回答
0

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

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

于 2012-07-12T11:52:56.400 回答