我昨晚尝试对我的旧应用程序(Rails 3.0.0,Ruby 1.8.7)进行一些简单的更改,并在部署时遇到了许多问题。我正在使用Moonshine来处理部署。
我可以毫无错误地运行cap deploy
,但随后我收到以下乘客错误
no such file to load -- /srv/BBRatboard/releases/20130409025824/config/environment
我不确定它是否相关,但是当我进入框中时,/srv/BBRatboard/current/config
下的整个配置文件夹都是空的。这是设计还是我的部署出了问题?
许多人已经能够通过调整environment.rb
文件(https://www.sit.auckland.ac.nz/Ruby_on_Rails_deployment)的权限来解决这个问题,但我甚至无法在我的生产服务器上看到它。
我可以提供任何必要的详细信息,任何帮助都会非常感激,因为该应用目前处于破碎状态。
非常感谢。
答案 0 :(得分:0)
您肯定需要在config
目录中显示文件。看起来您的cap deploy
输出显示它正在删除版本的config
目录:
执行“chmod -R - g + w / srv / BBRatboard / releases / 20130409032459&& rm -rf - / srv / BBRatboard / releases / 20130409032459 / system&& ln -s - / srv / BBRatboard / shared / system / srv / BBRatboard / releases / 20130409032459 / system&& rm -rf - / srv / BBRatboard / releases / 20130409032459 / log&& ln -s - / srv / BBRatboard / shared / log / srv / BBRatboard / releases / 20130409032459 / log&& rm -rf - / srv / BBRatboard / releases / 20130409032459 / pids&& ln -s - / srv / BBRatboard / shared / pids / srv / BBRatboard / releases / 20130409032459 / pids&& rm -rf - / srv / BBRatboard / releases / 20130409032459 / config&& ln -s - / srv / BBRatboard / shared / config / srv / BBRatboard /释放/ 20130409032459 /配置“
(看最后,rm -ff -- /srv/BBRatboard/releases/20130409032459/config
)。虽然它也试图将config
目录符号链接到shared/config
目录(ln -s -- /srv/BBRatboard/shared/config /srv/BBRatboard/releases/20130409032459/config
)
我猜测shared/config
目录是在cap deploy:setup
期间创建的(基于Moonshine docs建议在cap deploy
之前运行它)。我会确保您事先运行cap deploy:setup
任务,并检查您的shared/config
目录是否包含其声称缺少的environment.rb
文件等内容。
答案 1 :(得分:0)
经过一番挖掘后,看起来这是一个不同版本的capistrano / moonshine以及他们处理共享资产的方式的问题。
上提出了建议即用tmp替换config,它现在似乎有效!