我正在設置一個heroku,我正在使用這個guide來設置我的本地開發環境。我的應用程序根目錄中有一個'.env'文件,其變量如指南中所述設置。當我運行時在Ruby on Rails應用程序中加載.env
heroku local:run rails runner "puts ENV['S3_BUCKET']"
它返回一個空白。我如何才能識別/加載'.env'文件?
我正在設置一個heroku,我正在使用這個guide來設置我的本地開發環境。我的應用程序根目錄中有一個'.env'文件,其變量如指南中所述設置。當我運行時在Ruby on Rails應用程序中加載.env
heroku local:run rails runner "puts ENV['S3_BUCKET']"
它返回一個空白。我如何才能識別/加載'.env'文件?
如果您想使用ENV變量加載.env文件,我建議使用https://github.com/bkeepers/dotenv gem。 如果你已經在使用它,然後根據dotenv自述,你應該儘快加載在引導,例如在配置/ application.rb中添加:
require 'dotenv'
Dotenv.load
如果使用PUMA或者獨角獸,在配置/ PUMA .rb,config/unicorn.rb添加:
require "dotenv"
Dotenv.load("/path/to/env/.env")
我正在使用dotenv和PUMA。我認爲你已經破解了它,但是在將這兩行添加到我的puma.rb和application.rb之後,我仍然沒有返回任何內容。任何其他想法? – npresco
.env文件適用於開發和測試環境。在使用heroku時,您正在談論生產環境。你不想把你的.env文件放入你的回購站(它有你的祕密,人們可能會偷走它)。所以在heroku上沒有一個.env文件可以引用......相反,你現在使用Heroku的環境變量,同時命名變量和它們的值,就像你在.env文件中做的一樣,那麼它將起作用
我正在嘗試在開發期間在本地環境中使用heroku。我也已將.env文件放入.gitignore中。 – npresco
如果遵循本指南時出現問題。
在我的情況的問題是,我跟着指南鏈接https://devcenter.heroku.com/articles/s3在那裏設置環境變量S3_BUCKET _NAME(而不是S3_BUCKET),當我回來的導遊,我試圖讓S3_BUCKET,當我原來是S3_BUCKET _NAME
我也有這個問題。找到了解決辦法? – davidpm4