kinoppyd.dev

blog

products

accounts & contact

さくらVPSにrbenvを入れてみる(そのあとにRails)

posted at 2013-04-13 18:22:37 +0900 by kinoppyd

Ruby on Rails の勉強を始めたので、デフォのRubyが1.8系のさくらVPSにrbenvを入れて、1.9系で開発が出来るようにする必要が。めんどくさい。

とりあえず、RVMかrbenvを考えてみたけれど、RVMはなんかものすごくオフィシャルサイトがアレだったので、rbenvにした。(勉強用の本でもRVMと書いてあったけど、RVMはなんだか設定のやり方がしっくりこないので、ライトに済ませてくれる感じのrbenvを選んだ)

ひとまず、githubのインストールマニュアルのとおりやってみる。

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

とりあえず、ここでシェルを再起動する。なんかいろいろ書いてあったが、面倒なので一回ログアウトして再ログイン。

で、さらっと

Install ruby-build,

とか書いてある。さらっとしすぎな気もするけど、ruby-buildのインストールガイドを読んで、rbenvのプラグインとしてサクッとインストール。

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

レポジトリをクローンしてくるだけなので、サクッと終わる。

で、rbenvの方に戻ると、

$ rbenv install 1.9.3-p327 ってあっさり書いてあるので、その前にインストール可能なバージョン一覧を見たいと思い、適当にlist系のコマンドを探していると、 $ rbenv install --list

でおkらしい。ずらっと一杯出てきた。とりあえず、1.9.3-p392を入れてみる。

$ rbenv install 1.9.3-p392

設定ファイルと思わしきyamlを取りに行って、その後rubyのソースを取得。インストール完了までそこそこの時間がかかったけど、上手くいったようだ。ruby -v を打ってみる。

ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

あれ!? なんだ、入ってないぞ。と思って次の項を読んだら、

$ rbenv rehash

って書いてあった。なんだ脅かすなよと思いながら入力。もっかい ruby -v を。

ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

あっれぇ!? と思ってマニュアルを読み進めて行くも、なんかそれっぽい項目が無い。首を捻っていると、Command Reference というセクションに rbenv local と rbenv global というコマンドが。

$ rbenv global 1.9.3-p392 $ ruby -v ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

おお、動いた!(ホントにこれでいいのか? という疑問はさておき)

で、Ruby on Rails も入れる。

$ gem install rails

なんか途中、file ‘lib’ not found ってエラーっぽい物が二回出てきたけど、普通に入った……ぽい?

$ gem list --local rails *** LOCAL GEMS *** rails (3.2.13)

お、つらつら出てきた。入ったみたい。とりあえず、参考書に合わせて3.1.0を入れる

$ gem install rails --version 3.1.0 $ rails _3.1.0_ --version -bash: rails: コマンドが見つかりません

ちょwwwマジかwww

焦ったのでrbenvのインストールガイドをgemで検索してみると、新しいgemを入れたらrehashしなきゃいけない、との記述が。

$ rbenv rehash $ which rails ~/.rbenv/shims/rails $ rails _3.1.0_ --version Rails 3.1.0

これでrailsコマンドが使えるようになったっぽい。

ひとまず、railsコマンドが使えることで満足したので、ここまでで。