rvmよりシンプルなRubyバージョン管理システムです。
rvmは高機能なのですが、進化がめちゃくちゃ速いのと、インストールするとくっついて離れないので、最近はこっちがトレンドになってきています。
- CentOS6系
- Ubuntu13.04
もろもろ必要なパッケージのインストール
gitのインストールはrbenvもろもろを入れるのに大前提。
また、開発系のパッケージをインストールしていないそのままだとgemもまともに使えないので、
事前に開発用ヘッダーをインストールしておきます。
CentOS
# yum -y groupinstall "Development Tools"
# yum -y install openssl-devel zlib-devel readline-devel mysql-devel sqlite-devel git
Ubuntu
sudo aptitude -y install libssl-dev zlib1g-dev libreadline-dev libmysqlclient-dev sqlite3 libsqlite3-dev g++ git
rbenvのインストール
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
ruby-buildのインストール
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
Rubyのインストール
インストール可能なRubyの一覧は以下のようにして得られる。
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)
以下のコマンドでインストール。
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
Ruby on Railsのインストール
Bundlerのインストール
rbenv exec gem install bundler --no-ri --no-rdoc
rbenv rehash
空のrailsプロジェクトを作成する
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/
Railsプロジェクトに必要なgemを一式インストール
cd example/
cat <<EOF >> Gemfile
gem 'execjs'
gem 'therubyracer'
EOF
bundle install --path vendor/bundle
バージョン管理に入れる
<
pre>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プロジェクト始動
bundle exec rails server
シェルスクリプトにしました
冪等性(べきとうせい)は保証しません。
以下に掲載するスクリプトはまるごとコピペするとダメ文字を含んでうまく動かないので、
rbenv and rails environement one shot install script.
を使用してください。
ダメ文字に関してはこちら: C2A0問題を解決する | ユニキャストラボ
#!/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!"
rvmにサヨナラバイバイする
以下のコマンドで行けるようです。
rvmも意外に便利になったものですね。
ログインしなおさないとcdしたときとかシェルがエラーを吐くのでいったんログアウトしたほうがよさげです。
rvm implode
後日談
何度もやるようならchefのcookbookの方がいいんじゃないか・・・。
参考サイト
- [CentOS]ruby-build,rbenvのインストール方法 - Qiita [キータ]
- sstephenson/ruby-build
- Home · sstephenson/ruby-build Wiki
- sstephenson/rbenv
- rbenvでインストールしたRubyのgemコマンドがzlib云々ほざいて動かない時の対処法 - ぬいぐるみライフ(仮)
Railsまわり
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート