Ruby
インストール
もろもろ必要そうなパッケージもまとめてインストール
sudo apt-get install ruby1.9.1-full build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison
ライブラリ
リファレンス
インクリメンタル検索できて便利
rbenv
https://github.com/sstephenson/rbenv
rbenvとruby-buildをインストール
Git cloneする場合:
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
以下を.zshrcや.bash_profileに追加
export PATH=$HOME/.rbenv/bin:$PATH
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
HomebrewでMac OS Xにインストールする場合:
$ brew install rbenv ruby-build openssl readline
以下を.zshrcや.bash_profileに追加
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
Rubyのインストール
インストール可能なRubyのバージョン一覧
$ rbenv install --list
通常のインストール(Homebrew以外):
$ rbenv install 2.0.0-p195
$ rbenv rehash
Homebrew経由でインストールしたOpenSSLやReadlineをリンクする場合:
$ CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.0.0-p195
$ rbenv rehash
インストールしたRubyのバージョン一覧
$ rbenv versions
特定のディレクトリで使用するRubyのバージョンを指定
$ rbenv local 2.0.0-p195
実行したディレクトリに.ruby-version(古いrbenvでは.rbenv-version)というファイルが作成され、そこにRubyのバージョン名が書かれる。
解除
$ rbenv local --unset
.ruby-versionファイルは削除される。
特定のシェルで使用するRubyのバージョンを指定
$ rbenv shell 2.0.0-p195
環境変数のRBENV_VERSIONにバージョン名が書かれる。
解除
$ rbenv shell --unset
Rehash
Rubyのパスやgemでインストールしたコマンドのパスを通す(~/rbenv/shims/ 以下のファイルを更新する)。
Rubyをインストールした後や、bundlerやrailsのようにコマンド付きのgemをインストールした後、rbenv rehashを実行する必要がある。
$ rbenv rehash
RVM
インストール
~/.rvm にインストールされる
以下を.zshrcとかに追記
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Rubyをインストール
$ rvm list known
$ rvm install 1.9.2
$ rvm use 1.9.2
gemset
$ rvm gemset create hoge
$ rvm gemset use hoge
もしくは
$ rvm 1.9.2@hoge
あとは普通にgem installする
.rvmrcに以下のように書いておくとそのディレクトリにcdした時、自動でrvm useしてくれる。
rvm use 1.9.2@hoge
rvmで入れたruby1.9のgemを使おうとするとzlibが無いとのエラー
ERROR: Loading command: install (LoadError)
no such file to load -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand
zlib関係や必要そうなライブラリ(build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev)を入れて、
一度rvmで入れたrubyを削除してから、再度rubyをインストールし直すと良い(rvm reinstall ruby-1.9.***)。
参考:
http://ubuntuforums.org/showthread.php?t=1494997
はまった
irbで文字化け
$ irb -Ku
または
export RUBYOPT=-Ku
実行すると「./hoge.rb: bad interpreter: /usr/bin/ruby^M: そのようなファイルやディレクトリはありません」と怒られる。
==> ソースコードの改行コードが \r\n や \r になってるのが原因。\n に直す。