【发布时间】:2013-03-13 10:29:12
【问题描述】:
我最近为 Rails 3 应用程序设置了生产服务器。
在初始部署时一切正常。在随后的部署中,没有找到添加到项目中的新 gem。当我分别从新添加的 gem 中引用类和方法时,我收到了 uninitialized constant 和 undefined method 错误。
当我最初设置时,我使用的是带有 RVM 的 gemset,但我试图通过删除 gemset 并仅使用 RVM 来管理红宝石来简化事情。
当我运行bundle list 时,一切都在那里。所有的宝石都在<app_root>/shared/bundle/ruby/1.9.1/gems/
似乎它正在从其他位置加载宝石,例如原始宝石集,但我已将其删除。
其他一些细节,我用的是Capistrano,当然是Unicorn,我的GEM_HOME=/home/deployer/.rvm/gems/ruby-1.9.3-p286
如果我能提供任何其他信息,请告诉我。
谢谢。
【问题讨论】:
-
删除 gemset 后是否再次运行
bundle_install? -
是的,我做到了。我在每次部署时重新启动独角兽。我重新启动了几次。我做了一个句号然后开始,这似乎已经修复了一些东西,至少是暂时的,但我不相信它是永久修复的。稍后我将使用新的 gem 再次对其进行测试,看看行为是否相同。
标签: ruby-on-rails rvm bundler