[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は使わないはずなのに何でだろ・・・??