无法访问 rails 中的 ENV 变量
Unable to Access ENV variable in rails
我正在尝试在我的 rails 应用程序中使用环境变量,并在 ubuntu 14.04
中设置这些变量值
我尝试使用导出命令进行设置
export mongodb_username="abc"
export mongodb_password="cde"
并尝试在 /etc/environment 和 ~/.bashsrc
中设置它们
和printenv给出以下结果
>> printenv mongodb_username
=> abc
>> printenv mongodb_password
=> cde
但在 RAILS APP 或 irb 中输出如下
>> ENV['mongodb_password']
=> nil
>> ENV['mongodb_username']
=> nil
我错过了什么?请帮忙!!!
使用 export
设置环境变量的值时,该值仅在设置它的 shell 及其子 shell 中可用。因此,您需要在需要它们的每个 shell 中导出这些变量。
但是,您当然可以自动执行此操作。
如果您有经常需要的变量,一种方法是将它们的赋值放在 shell 脚本中,然后 source shell 脚本中任何您需要的 shell(请参阅 http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html 了解更多信息)。
如果可以让变量在 所有 您的 shell 中生效,那么更简单的方法是从您的启动脚本中导出它们(可能 ~/.bashrc
).
我正在尝试在我的 rails 应用程序中使用环境变量,并在 ubuntu 14.04
中设置这些变量值我尝试使用导出命令进行设置
export mongodb_username="abc"
export mongodb_password="cde"
并尝试在 /etc/environment 和 ~/.bashsrc
中设置它们和printenv给出以下结果
>> printenv mongodb_username
=> abc
>> printenv mongodb_password
=> cde
但在 RAILS APP 或 irb 中输出如下
>> ENV['mongodb_password']
=> nil
>> ENV['mongodb_username']
=> nil
我错过了什么?请帮忙!!!
使用 export
设置环境变量的值时,该值仅在设置它的 shell 及其子 shell 中可用。因此,您需要在需要它们的每个 shell 中导出这些变量。
但是,您当然可以自动执行此操作。
如果您有经常需要的变量,一种方法是将它们的赋值放在 shell 脚本中,然后 source shell 脚本中任何您需要的 shell(请参阅 http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x237.html 了解更多信息)。
如果可以让变量在 所有 您的 shell 中生效,那么更简单的方法是从您的启动脚本中导出它们(可能 ~/.bashrc
).