我在Capistrano部署期间出现此错误消息。这对我来说意味着安装Rails有什么不对吗? Rails当前安装在服务器端不,但是它在我的Gemfile(以及我的Gemfile.lock)中,所以我假设它应该在执行的bundle install
命令期间安装在此之前。
给出错误的实际命令是:
bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile
我想问题只是在捆绑安装期间没有安装Rails。我错过了什么吗?
谢谢!
更新1: Rails似乎是通过bundle install
命令正确安装的。如果我查看目录.../shared/bundle/ruby/1.9.1/gems
,我可以在那里看到动作邮件。
更新2:运行命令rake assets:precompile
实际上也在本地失败,因此这与Capistrano没有任何关系。现在我只需弄清楚为什么config
对象对动作邮件不了解?
更新3:热门。看起来我安装的actionmailer版本是0.6.1(?!),同时我剩下的所有Rails东西都是3.2.9。 bundle update
拒绝在此版本之后更新actionmailer。我要删除所有的宝石并重新开始。
更新4 :使用rvm gemset empty
删除了我的整个gemset。然后尝试再次运行bundle,再次它试图获得actionmailer 0.6.1。我认为有些事情与捆绑器或其他东西混在一起......
答案 0 :(得分:1)
问题最终是我在Gemfile中删除了对特定版本的Rails的依赖。我刚刚在那里gem "rails"
。这似乎完全破坏了依赖计算,因为它获得了超级旧版本的动作邮件,而不是从所有宝石获得一致的版本。猜猜不指定精确的Rails版本是个坏主意。糟糕!
答案 1 :(得分:1)
@aardvarkk,
感谢发布此问题,我在安装Rails 4.0.0时遇到了同样的错误,错误导致我无法运行我的rails服务器
这时我正在尝试遵循RoR的Hartl教程。
我将gem "rails", '4.0.0'
添加到我的gem文件中,现在我可以运行我的rails服务器了。
谢谢