Windows10にrbenv使ってruby2.3.1をインストールできる環境を作った with cygwin

Posted by jolantern on Thursday, September 29, 2016

TOC

先日新しくノートPCを購入した。HPの薄型ノートである。 目的は、家にいると作業をしないことがある(言い訳だが誘惑が多い)とか、勉強会行くのにノートPCがあったほうがいいと思ったからだ。 今まではXperiaZ4 tabletにキーボードを接続してCloud9で開発というトリッキーなことをしていたが、転職して私物ノートも申請さえ出せば会社に持ち込める様になったこととか、自分に「勉強しろオラッオラッ」と発破をかけるために投資した。 速攻でUbuntuを入れるというのが頭にあったけど、せっかくなのでしばらくWindowsで運用してみる。仕事柄Windowsのトラブルを解決することが多いので、ゲーム以外でWindowsを触る機会はあったほうが良い、と思った次第だ。

Cygwinのインストール

Cygwinは公式ページから64bit版をダウンロードしてインストール、パッケージはデフォルトでインストールされるものに追加でwgetだけをインストールした。Cygwinは長らくこのインストーラを使ってパッケージを追加インストールするという方法でパッケージ管理をしていたが、最近はapt-cygというシェルスクリプトを使って、Ubuntuのapt-getライクな方法でパッケージ管理ができる。 ブラウザからダウンロードして配置とかしてもいいけど、そのapt-cygをインストールするためにwgetをインストールするわけだ。

<code class="shell">$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/
</code>

次にrubyをインストールする。普通にWindows版のバイナリをインストールしてもいいしapt-cyg install rubyでも入るけど、今回は新しいRubyをコンパイルする方法にした。rbenvとruby-buildを使って。なおruby-buildは公式にCygwinをサポートしていないので、今後動かなくなる可能性は否めない。

<code class="shell">apt-cyg install git gcc-core  gcc-g++ make  \
autoconf  libiconv libiconv-devel rsync patch zlib-devel curl\
unzip openssh openssl-devel libxml2-devel libxslt-devel  libffi-devel libgdbm-devel \
libcrypt-devel libreadline-devel libcrypt0 

</code>

これで必要なパッケージは揃ったので、インストールに。

<code class="shell">$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ $SHELL --login
$ rbenv install 2.3.1
$ rbenv global 2.3.1
</code>

もしパッケージが足りないみたいなエラーが出ていた場合、 apt-cyg searchall パッケージ名 とやるとパッケージを検索してくれる。自分はreadlineのパッケージ名を探すのに使った。