CygWin 環境に nokogiri , ffi, mysql2 をインストールできるようになるまで
Windows で Rails アプリを動かしたくて CygWin で bundle install
したら nokogiri で止まってしまうので、必要なものをまとめた。
なお、 Windows 10 64bit 環境に CygWin64 をインストール、
apt-cyg mirror には http://cygwin.mirror.constant.com/ を利用した。
apt-cyg
まず、CygWin のデフォルトのインストーラーを使うのは大変なので、
apt-cyg を入れる。
デフォルトのインストーラーで lynx
をインストールしておく必要がある。
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin
で apt-cyg のインストール完了。
apt-cyg install wget apt-cyg update
でパッケージ情報を最新に。
ruby , ruby-devel
ruby だけじゃなくて ruby-devel も、nokogiri のインストールには必要なので注意。
apt-cyg install ruby ruby-devel
必要なものを入れる
ここまでで gem install nokogiri
をやってみても悲しいことに失敗するので、いろいろ足していく。
makeやCコンパイラーや、各種ライブラリ。
apt-cyg install make gcc-core zlib zlib-devel libiconv libiconv-devel
これらを足すことで nokogiri がインストールできるようになっているはず。
gem install nokogiri
成功だったらバンザイ! ダメだったらすみません……。
nokogiri 単体で使うことはあまりないので、インストールが確認できたらアンインストール。
gem uninstall nokogiri
代わりに今後使うであろう bundler を入れておきましょう。
どうも gem install
でグローバルインストールすると ~/bin
以下に実行ファイルが置かれるようなので、 ~/bin
にPATHを通します。
gem install bundler echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
その他 : ffi , mysql2
ffi のために
apt-cyg install libffi6 libffi-devel
mysql2 のために
apt-cyg install mysql libmysqlclient-devel
これらをインストールすることによって、 bundle install
を正常終了させることができた。