我正在针对困扰EC2 Rails部署的各种约束进行工作。我不允许使用Capistrano,因为我不能将这个应用程序保存到任何公共git存储库(比如GitHub),我还需要保留对Rails应用程序安装到的EC2上哪个实例的完全控制,并且能够轻松地修改这个实例(添加负载平衡器、自动缩放器等)。在AWS控制台上飞行,所以我也不能使用橡胶。
最后,我简单地将我的Rails应用程序目录转到了EC2实例,但是在运行包安装时遇到了一个“没有这样的文件来加载”错误,特别是Time gem。因为这是一个“集成”的宝石,我想我可能只是忽略了一些简单的东西。以下是我尝试过的一些事情:
这个应用程序在我的本地开发环境中没有问题地运行,所以我忽略了什么?
注意:我需要在一个EC2实例上托管。否则,我会简单地部署到EBS、Heroku等。
发布于 2014-03-20 23:35:38
这是一个愚蠢的错误,在这个问题中也有详细说明:heroku - cant run rake db:migrate - no such file --Time
我在控制器中错误地使用了“time”而不是“time”的require语句。这是本地允许的,但是我的ubuntu服务器ruby环境没有那么宽容。在我的控制器中将'T‘改为't’并运行'bundle install‘完全解决了这个问题。
https://stackoverflow.com/questions/22536088
复制相似问题