使用带有多个.env文件的工头

bob*_*et1 4 ruby-on-rails foreman

对于工头,我正在尝试使用两个.env文件启动我的rails应用程序.

一个是常规.env文件,但是第二个文件有额外的变量要加载.我正在尝试使用本指南中提到的方法来保持配置变量的代码:https://devcenter.heroku.com/articles/config-vars

这是我的Procfile:

web: bundle exec rails server thin -p $PORT --env $RACK_ENV,var.env
Run Code Online (Sandbox Code Playgroud)

我的问题是,即使文档说它应该是可能的,工头似乎也不想为-env采用这两个参数:

-e, - env

指定备用环境文件.您可以使用以下命令指定多个文件: - env file1,file2.

当我尝试用"foreman start"运行它时,我收到错误:

06:22:46 web.1  | You did not specify how you would like Rails to report deprecation notices for your development,var.env environment, please set config.active_support.deprecation to :log, :notify or :stderr at config/environments/development,var.env.rb
Run Code Online (Sandbox Code Playgroud)

它似乎并不想分割"development,var.env"并单独处理它们.当我查看工头代码时,看起来它应该只是对逗号做一个简单的拆分,所以我不知道我做错了什么或者它是一个错误.

ilt*_*mpo 10

我没有使用该功能但是从文档我会说你试图在错误的地方指定命令行参数.Procfile您应该将其添加到foreman命令本身,而不是将其添加到流程中:

foreman start --env env,env.local
Run Code Online (Sandbox Code Playgroud)

这样,为工头启动的所有流程设置了环境.