我正在讀取此article,您可以創建一個帶有環境變量的config/local_env.yml
,然後使用config/application.rb
來讀取它以在導出的環境變量之前替換/取得優先級在你的.bashrc
。那麼.env
用於那麼什麼?它是否與config/local_env.yml
具有相同的用途?Rails config/local_env.yml vs .env vs bashrc環境變量
0
A
回答
1
所有這些方法都用於將環境變量提供給您的Rails應用程序。因此,從應用程序的角度來看,無論您是從.env
還是.bashrc
或config/local_env.yml
文件導出它,它都起到相同的作用。
這些方法的差異實際上是團隊成員在維護應用程序開發和部署環境中的個人選擇的問題。但是,在選擇這兩種選擇時,幾乎不需要考慮什麼。
.bashrc
- 如果您手動配置部署服務器,並且非常適合linux/unix命令行系統管理,請使用此選項。這個配置文件特定於bash shell(Bourne Again Shell)。您需要配置不同的文件,如果你的服務器使用不同的外殼(例如:.zshrc
如果它使用的Z shell)
.env
- 如果你想保持應用程序本身在您的應用爲中心的環境變量,同時保持不同使用此您的Rails應用程序的不同運行時環境的環境變量的變化。例如:.env.development
和.env.test
文件分別爲您的開發和測試環境提供了環境變量的特定值。這使您可以更好地控制應用程序的環境變量,而不必依靠您想要部署應用程序的平臺(終端外殼)。
config/local_env.yml
- 這類似於.env
的方法,這是由鐵軌的寶石,允許您配置環境變量在陽明格式的應用程序提供開箱即用。這種方法還可以保持應用程序在應用程序中的配置,而不管您用於運行應用程序的shell。
相關問題
- 1. Webpack環境變量NODE_ENV vs cli params --env
- 2. 未設置.bashrc中的環境變量
- 3. VS 2015 Python環境變灰
- 4. Rails環境變量
- 5. Fastlane不初始化環境變量--env
- 6. Rails應用程序不會讀取.bashrc中的env變量
- 7. git環境vs precommit鉤
- 8. Ruby on Rails的使用環境變量
- 9. Rails 3環境變量屬於哪裏?
- 10. Cloud9環境變量
- 11. 沙箱vs。生產環境
- 12. PHP $ _ENV vs Linux環境(Ubuntu)
- 13. 環境變量
- 14. 在Rails中設置環境變量
- 15. 啓動VS終端 - Linux上的不同路徑環境變量
- 16. Xcode構建設置,模擬器vs設備的環境變量
- 17. 刷新開放VS解決方案的環境變量
- 18. 什麼是操作系統Vs IDE中的環境變量?
- 19. 環境變量
- 20. 環境變量
- 21. Powershell環境變量
- 22. 環境變量TypeScript
- 23. ConfigurationManager vs變量
- 24. Pheonix框架環境變量
- 25. Ruby環境變量
- 26. VS團隊服務Web.config轉換環境
- 27. cron作業沒有得到環境變量的.bashrc
- 28. Access環境變量
- 29. 閱讀rails env變量rspec
- 30. 具體Rails的ENV變量
謝謝@ sa77!在後續問題中,當您部署應用程序時,服務器如何知道使用.env.production文件?那個集合在哪裏? – mangocaptain
@mangocaptain你只需要在'.env.production'上擁有你所有的配置,並且擁有'RAILS_ENV = production',並且在你的'config/environments /'下面有'require'dotenv' production.rb'文件爲此工作 – sa77