Hai Adachinです。
今日、検証用サーバに「rubyが入ってないよ(#^ω^)Adachinゴラッ!」と言われたので、
ふぁっ!?そんな馬鹿な。。と脳内がフル回転し、確かに
今まで各ユーザごとにインストールしてました。。(以前書いたブログより)
これだと全ユーザーに最新のrubyが入ってないよとまた言われてしまうので、なんとかならんのかねと
ググったところ、System Wide installというやり方を見つけたのでブログしやす。(rbenvで)
■今までのrbenvでのrubyインストール
1 |
/home/adachin/.rbenv |
多分こんな感じであると思いますが、他のユーザがrubyを使いたいと思っても使えないのが悩みどころ。
System Wide installという方法ではrootに対してrbenvをインストールして、どのユーザでもrbenvが使えるようにするそうです。
■rbenv,ruby-bulidを/usr/localにインストール
1 |
$ sudo git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv |
1 |
$ sudo git clone git://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build |
■visudoでパスの変更
1 |
$ sudo visudo |
1 2 3 4 |
# /etc/sudoers # Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin #コメントアウト Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims Defaults env_keep += "RBENV_ROOT" |
これによりsudoがrbenvやgemコマンドを指定するようにしてます。
■rbenvの使用準備
1 |
$ sudo rbenv init - |
1 |
$ sudo vim /etc/profile |
1 2 3 |
export RBENV_ROOT=/usr/local/rbenv export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" |
これを追記することで
どのユーザーにもrbenvが/user/local/rbenvにありますよとなるわけです。
■読み込み
1 |
$ source /etc/profile |
これでエラーが出たらrootになってから実行するといいかも
1 |
$ sudo -s |
1 |
# source /etc/profile |
■ruby 2.2.2をインストールしてみる
1 |
# sudo rbenv install 2.2.2 |
1 |
# sudo rbenv global 2.2.2 |
必ずsudoを付けてインストールしましょう。rootのみがrbenvを更新することができるからです。
■確認
1 2 |
[adachin@test ~]$ ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] |
大丈夫そうですね!他のユーザで確認したいときは
source /etc/profileをすればruby 2.2.2が使えると思います。
■まとめ
もちろんgemでbundlerをインストールしてみると全ユーザーでbundlerが使えると思います。
これでみんなruby使えるね!(・∀・)
参考:http://d.hatena.ne.jp/komiyak/20150603/1433364444
0件のコメント