LoginSignup
2
4

More than 5 years have passed since last update.

Raspbianにrubyをインストール

Last updated at Posted at 2017-01-11

参考サイト:CentOS 6.3 にrbenv + ruby をインストール

概要(インストールする前に)

自分の記事の焼き直しです。
このページは自分が自分のruby環境構築のために、ちょっと他では書かれていないことをやっております。
一般論とは外れています。ご了承お願いします。

ruby

rubyのバージョンを変更して使っていくために、rbenvの管理下に置くようにする。
こうしておくことで、脆弱性の修正パッチとかあてることになっても
ゆっくりインストールした後で、コマンドで切り替えるだけなので停止時間を
可能な限り短くしておくことができる。

rbenv

rbenvって何?

rubyのバージョンをいつでも任意に切り替えるツール。
bashでできているため、他のソフトにも応用は可能。

インストールの方針

  • rubyアカウントを作成し、rbenvもrubyも該アカウントで管理する。
  • ホームディレクトリを/opt/rubyとする。
  • .rbenvディレクトリの作成場所も/opt/ruby配下。
  • rubyの本体もここで管理していく
  • rbenv-buildを使用してインストールする

rubyアカウントを作成する理由
  rbenvのインストール先及びruby本体のインストール先が~/.rbenv 配下となっている。
  何も考えずにインストールしてしまうと、いつも使っているユーザがruby本体を消してもよい権限すらもらっていることになる。
  あと、各ユーザが各ホームディレクトリの配下に同一バージョンのrubyを持つことになってしまう。
  気持ち悪いのでrubyアカウントで管理していく方針にしました。
  セキュリティの基本事項「最小権限の原則」に反するので、特別にrubyを管理できるユーザを作る。システムメンテナンスの部類にはいると思うのでrootグループ配下にする。

インストール手順

システムアカウントの作成

rubyアカウントの作成
$ mkdir /opt/ruby
$ useradd -r -g root -d /opt/ruby -s /usr/sbin/nologin ruby

rbenv本体インストール

ダウンロード→zipの解凍→配置まで。
$ sudo bash
$ cd /opt/ruby
$ apt-get install -y git
$ git clone https://github.com/rbenv/rbenv.git /opt/ruby/.rbenv
$ cd /opt/ruby/.rbenv
$ ./src/configure && make -C src
$ exit
$ /opt/ruby/.rbenv/bin/rbenv init
$ type rbenv

rbenv is /opt/ruby/.rbenv/bin/rbenv が出たらOK

ruby-buildインストール

$ sudo bash
$ git clone https://github.com/rbenv/ruby-build.git /opt/ruby/.rbenv/plugins/ruby-build
$ ./install.sh
$ exit

誰でもrubyを切り替えることが出来るように権限を開放する。

必要最小限の権限開放
$ chmod a+w /opt/ruby/.rbenv

ruby インストール

$ rbenv install 2.4.0

2.4.0の部分は最新バージョンを調べて入れました。
以下の様なエラーが出ました。

Downloading ruby-2.4.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2
Installing ruby-2.4.0...

BUILD FAILED (Raspbian 8.0 using ruby-build 20161225)

Inspect or clean up the working tree at /tmp/ruby-build.20170111132826.1356
Results logged to /tmp/ruby-build.20170111132826.1356.log

Last 10 log lines:
installing capi-docs:         /home/pi/.rbenv/versions/2.4.0/share/doc/ruby
The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libssl-dev libreadline-dev` to fetch missing dependencies.

Configure options used:
  --prefix=/home/pi/.rbenv/versions/2.4.0
  LDFLAGS=-L/home/pi/.rbenv/versions/2.4.0/lib
  CPPFLAGS=-I/home/pi/.rbenv/versions/2.4.0/include

メッセージに従ってパッケージを追加インストールしてから、
rubyインストール再挑戦

$ sudo bash
$ apt-get install -y libssl-dev libreadline-dev
$ exit
$ rbenv install 2.4.0
Downloading ruby-2.4.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2
Installing ruby-2.4.0...
Installed ruby-2.4.0 to /home/pi/.rbenv/versions/2.4.0

今度はうまくいきました。\(^o^)/
と思ったら、、、、インストール先が/home/piになってましたorz
/opt/ruby/.rbenv配下にしたいので、やり直しします。

(pi ユーザ)
$ cd ~
$ rm -rf .rbenv 
$ export HOME=/opt/ruby
$ rbenv install 2.4.0
$ export HOME=/home/pi

、、、、スマートじゃない。。。
CONFIGURE_OPTS とか RUBY_CONFIGURE_OPTS/opt/ruby/.rbenv/versions
設定してみましたが、インストールに失敗したので、やむなくこの形で無理やり入れました。

仕上げ

rbenvお約束
$ rbenv rehash
$ rbenv global 2.4.0

細かい環境の整備

全員ログイン時にrbenvの環境を使えるようにする。

環境変数の編集(新規ファイル。自動で読み込んでくれます)
vi /etc/profile.d/rbenv.sh
環境変数の編集内容
export RBENV_ROOT=/opt/ruby/.rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

あとはインストールできたか確認する。

起動確認
ruby -v
gem -v
gem list
2
4
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
2
4