【问题标题】:Rake commands not working in Elastic Beanstalk production environmentRake 命令在 Elastic Beanstalk 生产环境中不起作用
【发布时间】:2018-06-11 21:54:43
【问题描述】:

我的 Elastic Beanstalk 环境遇到了一个棘手的问题。任何 Rake 命令都会响应 Abort 测试:您的 Rails 环境正在生产模式下运行!。 rake db:migrate,即使是像 rake:stats 这样的简单命令,也会以相同的方式响应。在我的本地机器上,一切正常。
最糟糕的方面是我无法运行迁移,无论是手动还是从 .ebextension 文件中。我被困住了。有人可以帮忙吗?

【问题讨论】:

  • 你的生产服务器是什么?
  • 这是一个 EC2 t2.micro,64 位 Amazon Linux 2017.09 v2.6.2,运行 Ruby 2.3 (Puma)
  • 导轨安装好了吗?
  • 天哪,我想我很幸运得到了答案。该应用程序已经运行了一年多——但在上周,我从 Rails 4 升级到 Rails 5。剩下的是 lib/tasks 中的一段代码,其中需要“rake/testtask”并需要“耙/测试任务”。一旦我注释掉那段代码并重新部署,它就可以工作了。

标签: ruby-on-rails amazon-web-services


【解决方案1】:

我最近将应用程序从 Rails 4 升级到 Rails 5。lib/tasks/test_services.rake 下的一段代码包含以下内容:

require "rake/testtask"
require 'rails/test_help'
namespace :test do
#  desc 'Test tests/services/* code'
  Rails::TestTask.new(services: 'test:prepare') do |t|
    t.pattern = 'test/services/**/*_test.rb'
  end
end 
Rake::Task['test:run'].enhance ['test:services']

我不确定,但我认为其中一个 require 语句导致 rake “尝试”运行测试,即使对于诸如 rake stats 之类的命令也是如此。当我注释掉每一行时,rake 开始正常运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-05
    • 2020-11-23
    • 1970-01-01
    • 2016-02-13
    • 2018-05-02
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多