2

我将 Paperclip 添加到我的应用程序中,然后尝试使用 capistrano 部署到我的 VPS。部署成功,但是当我尝试在 VPS 上访问我的应用程序时,我得到了 Rails 错误页面。中没有信息production.log,但unicorn.log出现以下错误:

E, [2013-06-25T19:44:07.372060 #21995] ERROR -- : uninitialized constant Paperclip (NameError)
/home/deployer/apps/arcsite/releases/20130625182331/config/initializers/paperclip.rb:1:in `<top (required)>'

初始化文件是paperclip.rb并且具有以下内容:

Paperclip.interpolates :zone do |attachment, style|
  attachment.instance.zone_id
end

这是一个允许我使用我想要的文件夹结构的插值器。

如果我删除paperclip.rb初始化程序文件,我会收到一个在我的类中未定义的错误,has_attachment这看起来好像paperclipgem 没有被正确加载。

我试图卸载/重新安装 gem,但是当我运行时gem uninstall paperclip,它告诉我没有安装回形针 gem。当我运行bundle show paperclip它时确实显示了一个目录(我使用的是 RVM),所以我手动安装了带有gem install paperclip. 我仍然遇到同样的错误。

此应用程序在thin服务器上的开发中运行良好。

我的 VPS 设置:

  • nginx
  • 独角兽
  • 转速
  • 卡皮斯特拉诺

rails 版本:3.2.13 回形针版本:3.4.2

我跟着Ryan 的截屏视频设置了 nginx/unicorn

4

2 回答 2

0

所以问题是独角兽没有识别我新安装的宝石,我所要做的就是手动停止然后手动启动独角兽,一切都得到了照顾。在安装了回形针部署我的应用程序后,我遇到了同样的问题。

通过 SSH 在应用程序的根目录中——

service unicorn_"app name" stop

其次是

service unicorn_"app name" start
于 2014-01-03T16:55:00.100 回答
0

原来这是一些奇怪的安装行为。必须与 RVM 人员合作并更新 rvm capistrano 文档以反映新程序。

于 2013-07-04T18:01:24.923 回答