【发布时间】:2017-07-04 21:46:07
【问题描述】:
是否可以在启动服务器时将特定的 dotenv 文件与rails s 命令一起传递(类似于rails s --dotenv .env.ssl)?我想用 ssl(以及不同的环境变量)和正常模式启动我的本地 Rails 应用程序,它只会加载我的正常 .env 文件或类似的东西。
【问题讨论】:
标签: ruby-on-rails environment-variables environment
是否可以在启动服务器时将特定的 dotenv 文件与rails s 命令一起传递(类似于rails s --dotenv .env.ssl)?我想用 ssl(以及不同的环境变量)和正常模式启动我的本地 Rails 应用程序,它只会加载我的正常 .env 文件或类似的东西。
【问题讨论】:
标签: ruby-on-rails environment-variables environment
查看dotenv,它似乎没有任何类似的命令行标志,但是,在您调用Dotenv.load 的地方,您可以传入文件Dotenv.load('file1.env', 'file2.env'),以便您可以手动处理它(查找标志或特定的 ENV 变量来确定要加载哪些附加文件)。或者,在它提到的自述文件的常见问题中
dotenv-rails 将从底部开始加载以下文件。第一个值集(或已在环境中定义的值集)优先:
.env - The Original®
.env.development、.env.test、.env.production - 特定于环境的设置。
.env.local - 本地覆盖。为除 test 之外的所有环境加载此文件。
.env.development.local、.env.test.local、.env.production.local - 环境特定设置的本地覆盖。
所以我相信这意味着您的正常 .env 将是 .env.local,而您想要在 SSH 中使用的东西将是 .env,而不需要标志。
【讨论】: