我的应用程序使用多个环境变量(在我本地开发机器上的 ~/.bashrc 中,以及作为远程 heroku 应用程序上的 heroku 配置变量)。
由于我本地机器上的所有 ENV 变量都在同一个文件中,我必须小心地命名它们以避免不同应用程序之间发生冲突。
如何在本地计算机上设置特定于我在本地运行的特定应用程序的环境变量?
例如,在本地运行 app_one:
cd app_one
run_something (that loads the env vars then runs rails server)
最佳答案
如果您使用的是 RVM,那么您可以将特定于应用程序的环境变量放在应用程序的 .rvmrc
文件中。
例如,假设您有两个应用程序 pancakes
和 eggs
,设置如下:
~/src/pancakes/
~/src/eggs/
和两个
.rvmrc
文件,如下所示:# ~/src/pancakes/.rvmrc
export APP_NAME=pancakes
# ~/src/eggs/.rvmrc
export APP_NAME=eggs
然后:
$ cd ~/src/pancakes
$ echo $APP_NAME
pancakes
$ cd ~/src/eggs
$ echo $APP_NAME
eggs
这种方法的额外优势是将所有特定于应用程序的设置保留在您的应用程序中,并且可以轻松地将您的应用程序特定环境变量置于版本控制之下。您还可以将一个小解析器连接到您的发布过程,以从您的
.rvmrc
文件中提取必要的设置并将它们设置在 Heroku 上。关于ruby-on-rails - Rails3 : How to set bash environment variables that are project-specific?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8915707/