Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 环境变量返回nil_Ruby On Rails - Fatal编程技术网

Ruby on rails 环境变量返回nil

Ruby on rails 环境变量返回nil,ruby-on-rails,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变量的

#~/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 

编辑我认为我的环境变量不会持久化。重新启动计算机时,变量为零,需要重新设置。

为服务器进程设置环境变量的传统方法是:

RAILS_ENV=production GA_USERNAME=foobar rails s
如果希望以持久的方式(如在文件中)指定环境变量,请尝试。自述文件告诉您如何开始,但其思想是:

  • rails生成figaro:install
  • 编辑
    config/application.yml
    (上一个命令创建的)
  • 在您的应用程序中,它将自动设置每个环境(生产、开发、测试)变量
  • 更新

    可能是更好、更简单的方法:

  • gem'dotenv rails',:groups=>[:development,:test]
  • 将跨环境键值对放入
    .env
  • 放置环境特定对
    .env.test
    .env.development

  • 查看他们的自述文件了解所有详细信息。

    put
    始终返回
    nil
    。。。尝试一下ENV['GA_USERNAME']interest。是的,这在控制台中起作用,但当我运行appdoi
    export
    this时,它仍然返回nil?我正在尝试设置开发环境。