Ruby dotenv gem未加载.env文件
我的项目中安装了Ruby dotenv gem未加载.env文件,ruby,Ruby,我的项目中安装了dotenv和dotenv-railsgem。运行rails控制台时,我可以键入: 2.4.0 :001 > ENV["DATABASE_NAME"] => "portfolio_site_development" 但是,当我调用Ruby文件或irb终端时,Ruby会出现问题: 2.4.0 :001 > ENV["DATABASE_NAME"] => nil 我需要Ruby文件中的dotenv。我做错了什么?好吧,我知道了。虽然这曾经奏效,但我想
dotenv
和dotenv-rails
gem。运行rails控制台时,我可以键入:
2.4.0 :001 > ENV["DATABASE_NAME"]
=> "portfolio_site_development"
但是,当我调用Ruby文件或irb终端时,Ruby会出现问题:
2.4.0 :001 > ENV["DATABASE_NAME"]
=> nil
我需要Ruby文件中的
dotenv
。我做错了什么?好吧,我知道了。虽然这曾经奏效,但我想最近更新的dotenv
已经改变了一切
因为我的ruby脚本位于
/lib/scripts/script.rb
中,所以我需要调用Dotenv.load(“../.env”)
,以便它指向项目结构根目录中的.env
文件。您是否像自述示例中那样调用了Dotenv.load
?Rails gem可能会为您这样做,但如果您使用的是纯Ruby,则必须实际加载它@MichaelBerkowski感谢您的快速回复,我确实打电话给了Dotenv.load不幸的是:(我把它放在最上面:你的.env
文件名是什么?在Rails中,你可能正在使用环境特定的文件,比如.env.development
,但是默认情况下Dotenv.load
将读取一个名为.env
的文件,在IRB中,一个简单的需要'Dotenv';Dotenv.load
会导致变量的散列。)在/.env
@MichaelBerkowski中定义的.env
文件称为.env
,直接位于根/.env
中。这是ruby中应该位于的位置吗?下面是当前的文件结构:最近的更改允许您执行要求“dotenv/load”