2009-08-07 93 views

回答

12

config.gem应该会自动需要该gem。您不应该需要进行手动“需求”调用。

config.gem

  1. 告诉Rails加载这个宝石自动
  2. 告知所需要的应用这块宝石的Rails,使耙宝石:安装将安装
  3. 的:源选项可以告诉轨道从非标准库中获取它
  4. The:lib选项可以告诉轨道从gem载入一个非标准文件(即没有以gem本身命名的东西)
+0

此外,:。版本指定的版本(比如你在一个Gemfile中) – labyrinth 2017-05-30 20:50:36

4

如果我是正确的,在环境初始化期间'config.gem'允许你的应用程序设置并且需要应用程序内的GEM依赖项,而不需要手动安装它们。 (正如我们之前所做的那样)通过像上面那样调用“config.gem tzinfo”,它自动地在应用程序中需要gem。这有助于部署到外部服务器,并且需要准备应用程序以及必要的宝石等。然后,您可以运行RAKE GEMS:INSTALL并且导轨将拉入所有宝石并需要它们。

但需要注意的一点是,如果您不希望在您的应用中需要使用宝石。然后在config.gem后添加“:lib => false”(即config.gem'tzinfo':lib => false)。

在某些情况下,(如果您获得未初始化的gem,并且已经手动安装它)(我遵循了您的链接)。确保config.gem“:lib”目录与gem的正确的:lib目录匹配。 I.E宝石可能被打包并安装为“nlewis-supergem”,但是我可能需要将这个库指向“supergem”。即“config.gem”nlewis-supergem“:lib =>”supergem“,这一切都取决于一些人如何打包他们的宝石和相应的库。

快速提示是不是手动安装总是安装宝石通过“config.gem”,然后耙GEMS:安装在部署之前捕获任何错误奇怪

希望这有助于

+0

谢谢': lib => false' :)在遗留应用程序上工作很痛苦! – atmaish 2014-07-10 13:53:20

+0

太棒了!解释 – Abhiram 2017-04-17 15:26:21