rbenvのインストール、Railsプロジェクトの作成まで

Pocket
LINEで送る

この記事の所要時間: 1032

rvmよりシンプルなRubyバージョン管理システムです。
rvmは高機能なのですが、進化がめちゃくちゃ速いのと、インストールするとくっついて離れないので、最近はこっちがトレンドになってきています。

  • CentOS6系
  • Ubuntu13.04

もろもろ必要なパッケージのインストール

gitのインストールはrbenvもろもろを入れるのに大前提。
また、開発系のパッケージをインストールしていないそのままだとgemもまともに使えないので、
事前に開発用ヘッダーをインストールしておきます。

CentOS

[text]
# yum -y groupinstall "Development Tools"
# yum -y install openssl-devel zlib-devel readline-devel mysql-devel sqlite-devel git
[/text]

Ubuntu

[text]
sudo aptitude -y install libssl-dev zlib1g-dev libreadline-dev libmysqlclient-dev sqlite3 libsqlite3-dev g++ git
[/text]

rbenvのインストール

[text]
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
echo ‘export PATH="$HOME/.rbenv/bin:$PATH"’ >> ~/.bash_profile
echo ‘eval "$(rbenv init -)"’ >> ~/.bash_profile
source ~/.bash_profile
[/text]

ruby-buildのインストール

[text]
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build/
sudo ./install.sh

Installed ruby-build at /usr/local
[/text]

Rubyのインストール

インストール可能なRubyの一覧は以下のようにして得られる。

[text]
rbenv install –list
Available versions:
(snip)
1.8.7-p358
1.8.7-p370
1.8.7-p371
1.9.1-p378
(snip)
1.9.3-p125
1.9.3-p194
1.9.3-p286
1.9.3-p327
1.9.3-p362
1.9.3-p374
1.9.3-p385
1.9.3-p392
1.9.3-preview1
1.9.3-rc1
2.0.0-dev
2.0.0-p0
2.0.0-preview1
2.0.0-preview2
2.0.0-rc1
2.0.0-rc2
2.1.0-dev
(snip)
[/text]

以下のコマンドでインストール。

[text]
rbenv install 1.9.3-p392
rbenv global 1.9.3-p392
rbenv rehash

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

gem -v
1.8.23
[/text]

Ruby on Railsのインストール

Bundlerのインストール

[text]
rbenv exec gem install bundler –no-ri –no-rdoc
rbenv rehash
[/text]

空のrailsプロジェクトを作成する

[text]
mkdir project
cd project/
cat << EOS > Gemfile
source "https://rubygems.org"
gem "rails"
EOS
bundle install –path vendor/bundle
bundle exec rails new example –skip-bundle
rm -rf Gemfile Gemfile.lock vendor/ .bundle/
[/text]

Railsプロジェクトに必要なgemを一式インストール

[text]
cd example/
cat <<EOF >> Gemfile
gem ‘execjs’
gem ‘therubyracer’
EOF
bundle install –path vendor/bundle
[/text]

バージョン管理に入れる

[text]
echo ‘/vendor/bundle’ >> .gitignore
git init
git add .
git config –global user.name "Wataru Noguchi"
git config –global user.email "foo@unicast.ne.jp"
git commit -m "Initial commit."
[/text]

Railsプロジェクト始動

[text]
bundle exec rails server
[/text]

シェルスクリプトにしました

冪等性(べきとうせい)は保証しません。
以下に掲載するスクリプトはまるごとコピペするとダメ文字を含んでうまく動かないので、
rbenv and rails environement one shot install script.
を使用してください。

ダメ文字に関してはこちら: C2A0問題を解決する | ユニキャストラボ

[bash]
#!/bin/bash

#=====================================
# Settings Here
#=====================================
# Platform
PLATFORM=Ubuntu
#PLATFORM="CentOS"

# Rails Application Name
RAILS_APP_NAME=example

# Ruby Version
#RUBY_VERSION=2.0.0-p247
RUBY_VERSION=1.9.3-p392

# Rails Version
#RAILS_VERSION=4.0.0
RAILS_VERSION=3.2.14

# Git User Configuration
GIT_USER_NAME="Wataru Noguchi"
EMAIL="user@example.com"
GIT_OPTIONS=–global
#=====================================

if [ "$PLATFORM" = "Ubuntu" ]; then
sudo apt-get -y install libssl-dev zlib1g-dev libreadline-dev libmysqlclient-dev sqlite3 libsqlite3-dev g++ git curl
else
yum -y groupinstall "Development Tools"
yum -y install openssl-devel zlib-devel readline-devel mysql-devel sqlite-devel git
fi

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv

echo ‘export PATH="$HOME/.rbenv/bin:$PATH"’ >> ~/.bash_profile
echo ‘eval "$(rbenv init -)"’ >> ~/.bash_profile
source ~/.bash_profile

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build/
sudo ./install.sh

rbenv install $RUBY_VERSION
rbenv global $RUBY_VERSION
rbenv rehash
rbenv exec gem install bundler –no-ri –no-rdoc
rbenv rehash

cd ~
mkdir rails_projects
cd rails_projects/
cat << EOS > Gemfile
source "https://rubygems.org"
gem "rails", "$RAILS_VERSION"
EOS
bundle install –path vendor/bundle
bundle exec rails new $RAILS_APP_NAME –skip-bundle

cd $RAILS_APP_NAME
cat <<EOF >> Gemfile
gem ‘execjs’
gem ‘therubyracer’
EOF
bundle install –path vendor/bundle

echo ‘/vendor/bundle’ >> .gitignore
git init
git add .
git config $GIT_OPTIONS user.name $USERNAME
git config $GIT_OPTIONS user.email $EMAIL
git commit -m "Initial commit."

echo "finished!"
[/bash]

rvmにサヨナラバイバイする

以下のコマンドで行けるようです。
rvmも意外に便利になったものですね。
ログインしなおさないとcdしたときとかシェルがエラーを吐くのでいったんログアウトしたほうがよさげです。

[text]
rvm implode
[/text]

後日談

何度もやるようならchefのcookbookの方がいいんじゃないか・・・。

参考サイト

Railsまわり

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

人気の記事

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP

%d人のブロガーが「いいね」をつけました。