. Native extensionを別なディレクトリに配置するディストリビューションがあるのでrequire_relativeするとLoadErrorになる - 洋食の日記
Native extensionを別なディレクトリに配置するディストリビューションがあるのでrequire_relativeするとLoadErrorになる - 洋食の日記
Native extensionを別なディレクトリに配置するディストリビューションがあるのでrequire_relativeするとLoadErrorになる - 洋食の日記

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

Numo::NArrayは、PythonでいうところのNumpyで、Rubyで機械学習…

概要 llama.cppのRuby bindingsであるllama_cpp.rbでもLlama2が…

はじめに タイトルのとおり。RBSによる型注釈が提供されている…

はじめに タイトルのとおり。色々あって仕事でのタイプ量が急増…

はじめに Rubyの機械学習ライブラリであるRumaleに、非負最小二…

📎📎📎📎📎📎📎📎📎📎