Windowsでbcrypt gemを使うのに一癖あった

Windowsでbundle installで入ったbcryptを使おうとしたら以下のような感じで怒られた。

LoadError: cannot load such file -- bcrypt_ext
C:/.../config/application.rb:7:in `'
C:/.../Rakefile:4:in `require_relative'
...

確かにbcrypt_ext.soがないのでコンパイルされてなさそうだとコンパイル(DevKitが必要)。というか作っては削除し作っては削除しという稀有な環境なので一時的にインストールまでしてしまった。site-ruby以下にあると思うので、gem uninstallの時に注意しとこう。あるいは違うバージョン使う時とか。makeだけでもいい気もするけどそれで動くかは確認していない。

> cd \path\to\ruby\lib\ruby\gems\2.3.0\gems\bcrypt-3.1.11-x86-mingw32\ext\mri
> ruby extconf.rb
> make
> make install

さて当面は問題なくなったので、Issueがなければ報告しようとおもったらすでにあった。なんか長引いてるみたいなので修正にはしばらくかかるのかもしれない。

2018/08/12追記: 3.1.12で直ったらしい。これはうれしい。