高木のブログ

【Ruby】bundler/inline で dotenv が動作しない(しなくなった)

· 76 words · 1 minutes to read
Tags: Ruby Bundler

問題 🔗

いつも書いている書き方で dotenv が動作しなくなった

EXAMPLE=test
require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'dotenv', require: 'dotenv/load'
end

p ENV['EXAMPLE']
$ ruby app.rb
nil

nil が返ってくる

バージョンは以下

$ ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin20]

$ bundler -v
Bundler version 2.4.13

暫定対応 🔗

gemfile のブロック外で require してあげたら動く

require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'dotenv'
end

require 'dotenv/load'

p ENV['EXAMPLE']
$ ruby app.rb
"test"

原因 🔗

ちゃんと深くは追ってはいないが、この PR でおかしくなってしまったっぽい?

https://github.com/rubygems/rubygems/pull/6306

参考 🔗

bundler/inline resets ENV · Issue #6651 · rubygems/rubygems

Categories


Tags