我正在读取此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