Install as a default gem again
json is a default gem (see https://stdgems.org/), which means it must be installed in /usr/lib/ruby/3.0.0/
, instead of /usr/lib/ruby/gems/3.0.0/
, and various other files must be relocated.
commit 62c22c73 ("Apply ruby package guidelines") removed the code that performed those fixups, causing json to be installed as a non-default gem. As a result, it can no longer be loaded from environments that don't include /usr/lib/ruby/gems/3.0.0
in GEM_PATH
(e.g. bundle exec
).
Fix this in the same way other default gems, like ruby-cgi, did. This commit closely follows ruby-cgi's, and I've tested it by verifying require "json"
now works in Bundler environments and by checking the list of installed files against those in an rbenv-built Ruby 3.0.6.