ハトネコエ Web がくしゅうちょう

プログラミングとかAndroid

CygWin 環境に nokogiri , ffi, mysql2 をインストールできるようになるまで

WindowsRails アプリを動かしたくて CygWinbundle 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 を正常終了させることができた。