在 Ruby on Rails 应用程序中加载 .env

npr*_*sco 6 ruby ruby-on-rails heroku

我正在设置一个 heroku,我正在使用本指南来设置我的本地开发环境。我的应用程序根目录中有一个“.env”文件,其中的变量设置如指南中所述。当我跑

heroku local:run rails runner "puts ENV['S3_BUCKET']"
Run Code Online (Sandbox Code Playgroud)

它返回一个空白。我如何让它识别/加载“.env”文件?

mid*_*idN 10

如果您想使用 ENV 变量加载 .env 文件,我建议使用https://github.com/bkeepers/dotenv gem。如果您已经在使用它,那么根据 dotenv 自述文件,您应该在启动时尽快加载,例如在 config/application.rb 中添加:

require 'dotenv'
Dotenv.load
Run Code Online (Sandbox Code Playgroud)

如果你使用PUMA或Unicorn,在config/puma.rb、config/unicorn.rb中添加:

  require "dotenv"
  Dotenv.load("/path/to/env/.env")
Run Code Online (Sandbox Code Playgroud)