ぴよログ

↓に移転したのでこっちは更新されません、多分。

cygwinでrbenv

移転しました →

cygwinでもrubyを使いたいのでrbenvを導入した。導入プロセスと起こった問題への対処法をメモしておく。

導入手順

こちらの記事が詳しい。

Ruby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAXRuby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAXはてなブックマーク - Ruby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX

基本的にはrbenvとruby-buildをgithubから持ってくればOKということになる。

$ cd ~/
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

そして.bashrcなり.zshrcなりに追記し、

export PATH="~/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

それを読みなおす。

$ . ~/.bashrc

ここで問題がおこらなければあとはお好みのRubyをインストールすれば良い。

$ rbenv install 2.1.2
$ rbenv rehash

エラー発生

ところが僕の環境では$ . ~/.bashrcのタイミングで次のようなエラーが出た。

/cygdrive/c/home/.rbenv/bin/rbenv: line1: ../libexec/ruby: No such file or directory

調べてみると、~/.rbenv/bin/rbenv~/.rbenv/libexec/rbenvへのシンボリックリンクになっているべきらしいのだが、cloneしたものではそのようになっていなかった。

そこで元々あるものは退避しておき、シンボリックリンクを貼り直した。

$ mv ~/.rbenv/bin/rbenv ~/.rbenv/bin/rbenv-org
$ ln -s ~/.rbenv/libexec/rbenv ~/.rbenv/bin/rbenv

これで$ . ~/.bashrcが失敗しなくなった。