Debian 9上でrbenvをシステムワイドにインストールする

Debian 9 "Stretch" を用いたサーバ設定メモ - 発声練習の続き。

gitのインストール

Debianのパッケージシステムでもgitでインストールできるようになったみたい。

% sudo aptitude install git

rbenvのインストール

CentOSでrbenvをシステムにインストールする - Qiitarbenvでsystem wideに入れるときに気をつけたいこと - Qiitaを参考にインストールする。

Githubからrbenv, ruby-build, そして rbenv-default-gemsを取得する。

% cd /usr/local
% sudo git clone https://github.com/rbenv/rbenv.git rbenv
% sudo chgrp -R staff rbenv
% sudo chmod -R g+rwxXs rbenv
% sudo mkdir rbenv/plugins
% cd rbenv/plugins
% sudo git clone https://github.com/rbenv/ruby-build.git ruby-build
% chgrp -R staff ruby-build
% chmod -R g+rwxs ruby-build
% sudo git clone https://github.com/rbenv/rbenv-default-gems.git rbenv-default-gems

グループstaffに現在のユーザhogehogeを付け加える。

% sudo usermod -aG staff hogehoge

rbenvの設定をログイン時を読み込むことができるように/etc/profile.d/rbenv.shを作成する。

% sudo touch /etc/profile.d/rbenv.sh
% sudo vi /etc/profile.d/rbenv.sh

中見は以下のようにした。

export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init --no-rehash -)"

rbenvで初期化を行う。

% sudo su
# source /etc/profile
# exit

rbenvでsystem wideに入れるときに気をつけたいこと - Qiitaでおすすめのrbenv-default-gemsを設定する。これを設定することでrubyのインストール時に合わせてインストールするべきgemライブラリを指定することができる。

% sudo touch /usr/local/rbenv/default-gems
% sudo vi  /usr/local/rbenv/default-gems

中見は以下のようにした。

bundler
pry
rbenv-rehash

rubyのインストール

rubyのコンパイルに必要なパッケージをインストールする。

% sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

rubyのインストール

% sudo su
# source /etc/profile
# which rbenv
# rbenv install --list
# rbenv install 2.4.2
# rbenv rehash
# rbenv global 2.4.2

gemのバージョンを最新にしておく。

# gem update --system

gemパッケージをインストールする際にドキュメントをつくらないように設定する。

# touch ~/.gemrc
# vi ~/.gemrc

.gemrcの中見は以下の通り。

install: --no-document
update: --no-document

Ruby on Railsのインストール

SQLite3関連のパッケージをインストールする。

sudo apt-get install libsqlite3-dev sqlite3

Ruby on Railsをインストールする。

% sudo su
# gem install rails

動作確認をする。

% cd /tmp
% rails new demo --skip-bundle
% cd demo
% vi Gemfile

Javascriptの実行環境であるtherubyracerをコメントインする。

gem 'therubyracer'

パッケージをインストールする。

% bundle install

動かしてみる。

% rails generate scaffold person name:string age:integer
% rails db:migrate
% rails server