2011-01-19 71 views
3

ubuntu 10.04 slimy lynx或任何它被称为生产应用程序的操作系统。我也安装了rvm,而其他版本则在Mac上,开发者和生产红宝石和宝石都是一样的。Rails 3 bundler&rvm:捆绑宝石不会显示在宝石列表中?

现在,我已经习惯了在gem list中看到所有捆绑的宝石......但是当我在生产中做gem list时,我没有显示任何捆绑的宝石。

这意味着我不能使用rails c或任何其他宝石。

我发现我可以做bundle exec rails c什么的,用这种方式来使用控制台,但我更感兴趣的是为什么会发生这种情况,以及如何解决它,让宝石清单具有所有的宝石。它只是感觉正确。

想法?

回答

11

在Mac上的开发模式下,gem仍然安装在默认的gem路径中,而在生产模式下,它们被安装在特定于项目的文件夹中。试着在每台机器上做一个bundle show rails,你会明白我的意思。

当您运行gem list它看起来在主gem文件夹中,并且由于您的生产宝石坐落在项目特定的文件夹中,因此全局gem命令不知道要在那里看到。因此,您需要执行bundle exec以在服务器上运行这些项目特定的gems命令。出于我的目的,我创建了一个be别名bundle exec。此外,要列出您的项目的宝石,你可以做bundle list

请参阅http://gembundler.com/v1.3/rationale.html#deploying-your-application了解其背后的基本原理。

+0

截至今日的链接无效。 – ardavis 2013-04-06 17:16:53