以下の内容はhttps://yoshoku.hatenablog.com/entry/2025/11/19/225325より取得しました。


native extensionを別なディレクトリに配置するディストリビューションがあるのでrequire_relativeするとLoadErrorになる

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




以上の内容はhttps://yoshoku.hatenablog.com/entry/2025/11/19/225325より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14