环境变量返回nil

时间:2013-04-12 16:35:45

标签: ruby-on-rails

这里是我设置ENV变量的方法

#~/repos/project
export GA_USERNAME="email@gmail.com"

当我尝试在我的应用程序中使用ENV['GA_USERNAME]时,它返回nil。但是,在控制台中它奇怪地打印变量然后返回nil ...

1.9.2-p320 :003 > puts ENV['GA_USERNAME']
email@gmail.com
=> nil 

编辑我不认为我的ENV变量是持久的。当我重新启动计算机时,变量为零,需要再次设置。

1 个答案:

答案 0 :(得分:1)

为服务器进程设置env vars的传统方法是:

RAILS_ENV=production GA_USERNAME=foobar rails s

如果要以持久的方式指定env变种,例如在文件中,请尝试figaro。 README告诉您如何开始,但想法是:

  1. rails generate figaro:install
  2. 编辑config/application.yml(最后一个命令创建)
  3. 在您的应用中,它会自动设置每个环境(生产,开发,测试)变量
  4. <强>更新

    dotenv可能是一种更好,更简单的方法:

    1. gem 'dotenv-rails', :groups => [:development, :test]
    2. 将交叉环境键值对放在.env
    3. 放置特定于env的对.env.test.env.development
    4. 有关所有详细信息,请参阅自述文件。