LoginSignup
7
7

More than 5 years have passed since last update.

[CentOS 6.5]ユーザー追加してrbenvをシステムにインストールするまでの手順

Last updated at Posted at 2014-09-26

参考サイトが多く、いつもタブをたくさん開いてしまうのでまとめておく。
rbenv公式:sstephenson/rbenv · GitHub

作業ユーザーを追加

作業ユーザーを追加する。
すでに作成してある場合はスキップ。

# useradd rbuser
# passwd rbuser

ユーザーをwheelグループに追加

作成したユーザーでsudoを使うためにwheelグループに追加する。

# gpasswd -a rbuser wheel

sudoers の設定

rbenvをシステムワイドにインストールする で紹介されている例に倣ってデフォルトの設定ファイルではなく、個別のファイルを作成します。

# visudo -f /etc/sudoers.d/00_base

以下を記述する。

%wheel ALL=(ALL) ALL
Defaults !secure_path
Defaults env_keep += "PATH RBENV_ROOT"
  • 1行目
    • wheelグループに所属するユーザーがsodoできるようにする
  • 2行目
    • sudo時のPATHの初期値を設定する secure_path を無効化
  • 3行目
    • 操作ユーザーのPATHとRBENV_ROOTを引き継ぐ

sudoが使えるようになりましたので、これ以降は一般ユーザーで操作します。

rbenv, ruby-build のインストール

作業用の環境変数設定。

$ export RBENV_ROOT=/usr/local/rbenv
$ export PATH=${RBENV_ROOT}/bin:${PATH}

gitでrbenvとruby-buildを取得。
以後、バージョンアップする場合はそれぞれのディレクトリに移動して sudo git pull すれば最新版にできる。

$ sudo git clone git://github.com/sstephenson/rbenv.git ${RBENV_ROOT}
$ sudo git clone git://github.com/sstephenson/ruby-build.git ${RBENV_ROOT}/plugins/ruby-build

rbenvを初期化。

$ sudo rbenv init -

設定ファイルにrbenv用の設定追加。

$ sudo bash -c 'cat << \_EOT_ > /etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"
_EOT_'

シェルを再起動

$ exec ${SHELL} -l

Rubyインストール

$ sudo rbenv install 2.1.2
$ sudo rbenv global 2.1.2
$ sudo rbenv rehash

rbenv install -lで利用可能なrubyの一覧を表示できる。

パッケージが足りない場合

$ sudo yum -y --enablerepo=remi,epel install zlib zlib-devel readline readline-devel openssl openssl-devel libxml2 libxml2-devel libxslt libxslt-devel

Ruby 2.2.0 の場合

Ruby 2.2.0 をインストールしたときにビルドエラーが発生しました。
こちらの記事を参考にして対応。

$ sudo yum install libffi-devel

bundlerインストール

$ sudo gem install bundler --no-ri --no-rdoc
$ sudo rbenv rehash

bundlerインストール後はプロジェクトごとにGemを管理するのが良いとのこと。
* システムのgemにrailsをインストールせずrails newする

参考サイト

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7