[Cygwin]rbenvとruby-buildで最新のrubyを入れる

apt-cygで必要なパッケージを入れる

apt-cyg install git gcc-core  gcc-g++ make zlib-devel curl \
autoconf  libiconv libiconv-devel rsync patch unzip openssh openssl-\
devel libxml2-devel libxslt-devel  libffi-devel libgdbm-devel
もしかしたら上記には余分なパッケージが含まれているかもしれません。
十分条件ということでご理解ください。

rbenvとruby-buildを入れる

これは公式マニュアル通りです。
Linuxでやる場合と全く同じ手順です。

zshをお使いの場合は.bashrcを.zshrcに読み替えてください。
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.1.0-rc1
rbenv global 2.1.0-rc1
rbenv rehash
これで完了です!

確認する

$ ruby -v
ruby 2.1.0dev (2013-12-20 trunk 44301) [x86_64-cygwin]
\(ヤッター)/

はまりポイント

最新安定版のruby2.0.0-p353 をインストールしようとしたらコンパイルがこけました。
原因はわかりません。
$ rbenv install 2.0.0-p353
Downloading ruby-2.0.0-p353.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/78282433fb697dd3613613ff55d734c1
Installing ruby-2.0.0-p353...

BUILD FAILED

Inspect or clean up the working tree at /tmp/ruby-build.20131223064711.5784
Results logged to /tmp/ruby-build.20131223064711.5784.log

Last 10 log lines:
                                               ^
In file included from /usr/include/w32api/winbase.h:16:0,
                 from /usr/include/w32api/windows.h:70,
                 from file.c:18:
/usr/include/w32api/errhandlingapi.h:45:27: 備考: 前の 'GetLastError' の宣言はここです
   WINBASEAPI DWORD WINAPI GetLastError (VOID);
                           ^
Makefile:328: recipe for target 'file.o' failed
make: *** [file.o] Error 1
make: *** 未完了のジョブを待っています....
CygwinだからWin32APIは使わないはずなのに何でだろ・・・??
カテゴリ: