4
4

More than 5 years have passed since last update.

Ruby 2.0.0 で gem でインストールした拡張ライブラリの require に失敗する

Last updated at Posted at 2013-02-21

注意、この問題は修正されました

追記:Ruby 側で修正されたので、2.0.0 リリースでは問題なくなります
- https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/39366

コンパイル通って出来るファイル実体を直接 require するとちゃんと使えてるんだけど、gem でインストールと require できず、何かおかしい。

近くの席に Ruby コミッターが偶然座ってた(べんりな会社だ〜)ので尋ねてみたら、拡張ライブラリ gem の lib ディレクトリ以下に何らかのファイルが存在しないと、何故か "lib" という名前で gem install 時に拡張ライブラリの実体がコピーされてしまう、バグだと思うので issue に上がってるはず(ググったけどぱっと見つけられなかった)、とのこと。

対策は lib ディレクトリ作って適当にファイル置いておけばおk、とのことで( mkrn が)対策した。

例えば MessagePack での対策はこんな感じ

他にも同様の対策が必要な拡張ライブラリがいくつかありそうなふいんき。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4