ubuntu 10.04黏糊糊的lynx或其他所谓的生产应用程序的操作系统。我也安装了rvm,然后在mac上,开发和生产红宝石和宝石是相同的。
现在,我习惯于在gem list
看到所有捆绑的宝石......就像正常一样,但是当我在生产中gem list
时,我没有看到任何捆绑的宝石。
这意味着我无法使用rails c
或任何其他宝石。
我发现我可以做bundle exec rails c
或其他东西并以这种方式使用控制台,但我更感兴趣的是为什么会发生这种情况,以及如何修复它以便宝石列表拥有所有宝石。感觉还不错。
思想?
答案 0 :(得分:11)
在Mac上处于开发模式时,gems仍会安装在默认的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了解此背后的理由。