Ruby2.0.0 を CentOS6.4, OS X に 入れてみる
仕事ではここ数年ずっとPHPなので, プライベートではRubyにしようと.
PHPは別に嫌いじゃないですが, Rubyは書いてて気持ちがいいですね.
ということで, そろそろ2.0に移行しようと思って, 久々に環境構築をしたのでその備忘録です.
1. 前提条件
2. rbenv + ruby-build + ruby のインストール
OS X (Mountain Lion) の場合
(1) rbenv + ruby-build
$ brew update $ brew upgrade $ brew install rbenv ruby-build $ cat << EOF >> ~/.zshrc export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" EOF $ source ~/.zshrc
(2) ruby を入れるのに必要なパッケージをインストール
$ brew install openssl $ brew link openssl --force $ brew install readline $ brew link readline --force $ brew install libyaml $ brew link libyaml --force
- --force を付けないと warning が出たのでつけています
(3) ruby 2.0 を インストール
$ ruby-build --definitions : : 1.9.3-rc1 2.0.0-p195 2.1.0-dev : : $ CONFIGURE_OPTS="--with-opt-dir=/usr/local/" rbenv install 2.0.0-p195 $ rbenv rehash $ rbenv versions * system (set by /Users/kopug/.rbenv/version) 2.0.0-p195 $ rbenv global 2.0.0-p195 $ ruby -v ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]
CentOS 6.4 の場合
(1) yum で 依存パッケージをインストール
$ sudo yum -y install git zlib zlib-devel readline readline-devel openssl openssl-devel curl curl-devel
(2) rbenv + ruby-build
# cd /usr/local # git clone git://github.com/sstephenson/rbenv.git rbenv # git clone https://github.com/sstephenson/ruby-build.git rbenv/plugins/ruby-build
# cat << EOF >> /etc/profile.d/rbenv.sh export RBENV_ROOT="/usr/local/rbenv" export PATH="/usr/local/rbenv/bin:$PATH" eval "$(rbenv init -)" EOF
# source /etc/profile.d/rbenv.sh
(3) ruby 2.0 を インストール
# rbenv install --list : : 1.9.3-rc1 2.0.0-p353 2.1.0-dev : : # rbenv install 2.0.0-p353 # rbenv rehash # rbenv versions * 2.0.0-p353 (set by /usr/local/rbenv/version) $ rbenv global 2.0.0-p353 $ ruby -v ruby 2.0.0-p353 (2013-05-14 revision 40734) [x86_64-linux]
3. Bundler の インストール
※ ~/.gemrc にある "custom_shebang directive" を削除してから以下を実行すること(途中でエラーになるため)
$ rbenv exec gem update --system $ rbenv exec gem install bundler $ rbenv exec gem install rbenv-rehash $ rbenv exec gem list *** LOCAL GEMS *** bigdecimal (1.2.0) bundler (1.3.5) io-console (0.4.2) json (1.7.7) minitest (4.3.2) psych (2.0.0) rake (0.9.6) rdoc (4.0.0) test-unit (2.0.0.0) $ rbenv exec gem which bundler /Users/kopug/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb
4. Railsのローカルインストール及びプロジェクト作成
$ cd ~/Work/projects $ cat << EOF > Gemfile source "http://rubygems.org" gem "rails", "バージョン(省略可能. その場合は最新版)" EOF
一時的にrailsプロジェクトを作成するために --path で指定した箇所に railsで必要なgemをインストール
$ bundle install --path vendor/bundle $ bundle list
プロジェクト名は example(適当), --skip-bundle を指定しておかないと, project作成時に勝手に bundle install が走って, global 環境にgemがインストールされてしまう
$ bundle exec rails new example --skip-bundle
プロジェクトが作成できたら, 以下は不要なので削除
$ rm -rf Gemfile Gemfile.lock .bundle vendor
ここでプロジェクトに必要なgem をプロジェクト配下にインストールをする
$ cd example/ $ bundle install --path vendor/bundle
git の管理からgemを外す
$ echo '/vendor/bundle' >> .gitignore
Rails Server 起動
$ bundle exec rails server