はじめてのRuby
Rubyの勉強をするわけではない、Ruby環境を整える話。
こんな願望からRuby環境について考えてみることにした。
- 1.9系がいい
- 古いRubyでgem使って痛い思いしたくない
- もしかしたら1.8系も使いたいんじゃ…
rubyワカンネ。
rvm?rbenv?なにそれ
:open google rvm rvenv
bとvを間違えてもGoogle先生は丁寧に間違えたことを教えてくれる。
- 今更だけどrvmからrbenvに乗り換えるときの個人用メモ - === SANDmark 19106 === beginning stress test
- rvmやめてrbenvにしました - CubicLouve
rvmがすごくディスられてるのがわかった。
違い -> passingloop • rbenv と RVM との違い
なんとなくわかったが、Bundlerってなんだ?
調べて分かったことを書いておく。
rvm
= Ruby Version Manager
古い、重い、すごい。
rbenv
新しい、軽い、イケてる、必要最小限機能。
Bundler
gemのラッパー。以下の様な悩みを抱えている方に役に立つのだとか。
- 本番環境に必要なアノgemが入っていない...だと...
- gem入れまくってたら、どのgemがこのアプリに必要なのかわからなくなっちゃった。テヘ☆
アプリ環境ごとにgem listがもてるようになるスグレモノらしい。
導入してみたいのであれば、以下のエントリを参考にするといいのかも。
gem管理の新標準ツール”Bundler”のTips - 昼メシ物語
Rails3では標準搭載しているみたい。
rbenv入れてみよう
あんまりRubyわかんないので、軽いほうを使う。
$ git clone https://github.com/sstephenson/rbenv ~/.rbenv
$ vim ~/.zshrc
# rbenv setting
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init - zsh)"
$ mkdir ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone https://github.com/sstephenson/ruby-build
$ source ~/.zshrc
MacだとHomeBrewから入れれるみたい。
- libyaml
- openssl
- autoconf, readline
このへんのツールが必要なようだ。Macには今度入れてみよう。
上の例ではCentos5.3に入れているが最新のautomakeとかautoconfじゃないとあとあと困るのかもしれない。
RVMをさくらVPS(CentOS-5.6)にインストール - CMS専門 Web開発者ブログ
どうでもいいがrvmを削除するときの
$ gem explode
$ gem seppuku
とか面白い。
rbenv使ってみよう
$ rbenv install 1.9.3-p429 --verbose
Rubyワカンネので、1.9.3系の一番新しいパッチを選択。
通常1.9.3を使いたいのでその設定をする。
$ rbenv global 1.9.3-p429
$ source ~/.zshrc
$ ruby -v
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
$ gem -v
1.8.23
キタコレ。
proxylocalが欲しかったのでgemる。
$ gem install proxylocal
$ gem list
proxylocalが入ってる。ok。
ちょっとPythonいじったことある人感想。
あってるかわかんないけどRuby環境っぽいものができた。
自分視点だが、RubyとPythonの環境構築(2013年での)ではこんな感じに対応しているのかもしれない。
なんか違う気がするけど。
- gem - pip (easy_install)
- rbenv/rvm - pythonbrew/pythonz
- bundler - virtualenv (venv -> python3)
個人的にはvirtualenvが調子いい。仮想環境を作るという発想が良い感じ。