Rocky LinuxでdnfでインストールしたRubyで、 gem install native_extesionsなgem すると、native extensionsを/usr/local/lib64/gems以下に、通常のRubyスクリプトを/usr/local/share/gems以下に分けて配置される。そのため、Rubyスクリプトからnative extensionsをrequire_relativeで読み込もうとすると、全然違うディレクトリに配置されてるので見つけられずに、LoadErrorになる。おそらく他のRedHat系のLinuxもそうなんだろう。miseでローカルにインストールしてるRubyとかなら、同じ場所に配置される。なので、native exteionsはrequire_relativeじゃなくて、requireしよう。bundle gem --ext=c hoge で作られるスクリプトでは、require_relativeを使っているので要注意だ。
追記 2025/12/10
pull requesetを送りましてbundlerのv4.0.1で修正されてます: https://github.com/ruby/rubygems/blob/master/bundler/CHANGELOG.md#401-2025-12-09