T time

プログラミングや電子工作、各種ガジェットに関するブログです。

rbenv をシステムワイドにインストールする - Ubuntu 編

f:id:tatur0u:20150617231708p:plain

github.com

以前、Ruby のバージョンをアプリケーションごとに切り替えることができる rbenv を紹介しましたが、あの方法だとインストールしたユーザーでしか使用できませんでした。

そのため、システムと同時に起動するようなアプリケーションの Ruby バージョンを切り替えたい場合は、そのユーザーに su して起動する必要があり何かと面倒です。 また、全てのユーザーが rbenv をインストールするのも、ディスクスペースの面で非効率です。

それを解決するため、今回はシステムワイドに rbenv をインストールする方法を紹介します。

動作確認環境

この記事は、以下の環境で動作確認しました。

インストール方法

まずは、システムに rbenv をインストールして、それを使えるようにユーザーの環境を変更します。

rbenv のインストール

以下を適当なファイルに保存して実行するとインストールできます。

やっていることは、自分用に rbenv をインストールするのとほとんど同じです。 異なるのは /usr/local/rbenv にインストールしていることと、rbenv の所有権を staff グループに持たせていることです。

#!/bin/bash
# 必要なパッケージをインストール
sudo apt-get install git build-essential libssl-dev libffi-dev

# rbenvの最新版をgithubからclone
cd /usr/local
sudo git clone https://github.com/sstephenson/rbenv.git rbenv

# 全ユーザに rbenv 用の環境変数を加える
sudo echo 'export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)" ' > /etc/profile.d/rbenv.sh

# ruby-buildの最新版をgithubからclone
sudo mkdir /usr/local/rbenv/plugins
cd /usr/local/rbenv/plugins
sudo git clone https://github.com/sstephenson/ruby-build.git

# rbenv-gem-rehashの最新版をgithubからclone
sudo git clone https://github.com/sstephenson/rbenv-gem-rehash.git

# staff グループに rbenv へのアクセス権を持たせる
cd /usr/local
sudo chgrp -R staff rbenv
sudo chmod -R g+rwxXs rbenv

ユーザーごとの設定

以下を適当なファイルに保存して実行すると、rbenv を使用できるようになります。

staff グループに自分を登録し、/usr/local/rbenv にアクセスできるようにしています。

#!/bin/bash
# staff グループに自分を追加
sudo gpasswd -a `whoami` staff

なお、このスプリクトは Ruby を使用する全ユーザーが実行する必要があります

使用方法

使用方法は自分用に rbenv をインストールしたときと同じです。

詳細は、以前の紹介記事を参照してください。

あとがき

簡単でしたが、システムワイドに rbenv をインストールする方法を紹介しました。