Nokogiri が 1.11.0 からプリコンパイル済みで配布される (らしい) 。
このエントリを書いている時点での Nokogiri のプレリリースバージョンは 1.11.0.rc3 なので、大きな問題がなければ近日リリースの Nokogiri からという少し先取りの話になる。
おや?となったツイートは以下。
On a more serious note, we're REALLY close to shipping precompiled native gems.https://t.co/tKcuym2UqQ
— mike dalessio (@flavorjones) 2020年10月8日
後述するイシューに詳しくは記載されていますが、Linux だけではなく macOS にも対応しているらしい。
早速手元の macOS で見てみることにする。
% time gem install --prerelease nokogiri Building native extensions. This could take a while... exists /Users/koic/src/github.com/sparklemotion/nokogiri Successfully installed nokogiri-1.11.0.rc3 1 gem installed gem install --prerelease nokogiri 47.72s user 26.48s system 89% cpu 1:22.86 total
おや?Building native extensions
という見慣れた文字がと思ったら、どうも現時点だと macOS については darwin-19
のみが対象らしい。
手元は darwin-17 だったので、まだネイティブビルドが必要なのだった。
% ruby -e 'puts Gem::Platform.local.to_s' x86_64-darwin-17
いずれにせよ新しめのアーキテクチャの macOS や Linux なんかを使っているのであれば、インストール時のネイティブビルディングの待ち時間や、ビルドエラーでハマる時間が改善されると思う。
もしプリコンパイルのものを使いたくないのであれば、Bundler 経由の場合だと bundle config set force_ruby_platform true
なんかで設定できるらしい。詳しくは以下のイシューを参照してください。
リリースが楽しみですね。