Text
Page: 1
最近のrubyインストール方法
Kazuhiro NISHIYAMA
第84回 Ruby関西 勉強会
2018/12/01
株式会社Ruby開発
Powered by Rabbit 2.2.1
Page: 2
自己紹介
西山 和広
Ruby のコミッター
twitter, github など: @znz
株式会社Ruby開発 www.ruby-dev.jp
1/15
Page: 3
agenda
通常インストール
snap
docker
2/15
Page: 4
通常インストール
最新版は公式サイトのダウンロード http://
www.ruby-lang.org/ja/downloads/ から
Windows なら RubyInstaller
Ruby 開発者には rbenv + ruby-build が人気で rvm は評
判が悪い
Linux などなら OS 標準のパッケージでインス
トールも良い
yum や apt など
3/15
Page: 5
snap とは?
canonical が開発している新しいパッケージシス
テム
Ubuntu 16.04 以降には標準で入っている
その他の対応環境は https://docs.snapcraft.io/
installing-snapd/6735 参照
http://www.ruby-lang.org/ja/news/2018/11/08/
snap/
4/15
Page: 6
snap でのインストール
sudo snap install ruby --classic
2018/11 現在 channel を指定しない場合は 2.5.3 がイン
ストールされる
2.4 を利用したい場合
sudo snap install ruby --classic --channel=2.4/stable
5/15
Page: 7
切り替え
2.3 に切り替えるには以下のコマンドを実行:
sudo snap switch ruby --channel=2.3/stable
sudo snap refresh
6/15
Page: 8
snap の制限事項
RubyGems は $HOME/.gem にインストールされる
ように GEM_HOME と GEM_PATH が設定されている
bundle exec なしで rails コマンドなどを実行し
たい場合 .bashrc などに以下が必要
eval `ruby.env`
7/15
Page: 9
snap での gem の注意事項
$HOME/.gem が複数バージョンで共有される
切り替え時にC拡張は gem pristine --
extensions で再コンパイルが必要
nokogiri など
8/15
Page: 10
フィードバック先
https://github.com/ruby/snap.ruby
不具合報告やフィードバックなどはこちらへ
9/15
Page: 11
docker とは?
Linux のコンテナ環境
簡単にいうと、外側の環境にあまり影響を与えず
に、独立した環境の中でプログラムを動かせるも
の
10/15
Page: 12
docker ruby イメージ
https://hub.docker.com/_/ruby/
docker pull ruby のもの
docker オフィシャル
production 環境向き
ruby 本体の開発者は関わっていない
(Linux ディストリビューションのパッケージと同じ)
11/15
Page: 13
rubylang/ruby イメージ
https://hub.docker.com/r/rubylang/ruby/
docker pull rubylang/ruby
ruby-lang.org オフィシャル
2018/11現在 実験的 (EXPERIMENTAL) 扱い
trunk のナイトリービルドがある
開発中のバージョンを一番手軽に試せる環境になるかも
12/15
Page: 14
rubylang/all-ruby イメージ
https://hub.docker.com/r/rubylang/all-ruby/
docker pull rubylang/all-ruby
大きい (現在 10.2GB) ので注意
リリースされたすべての ruby での動作を確認できるイ
メージ
バグ報告をするときやドキュメントを書く時などに便利
13/15
Page: 15
実行例
$ docker run -it --rm rubylang/all-ruby ./all-ruby -e 'print("hello\n")'
ruby-0.49
hello
...
ruby-2.6.0-preview2
hello
14/15
Page: 16
まとめ
通常インストールは公式サイト参照
ディストリビューションのパッケージのインス
トールもあり
snap パッケージが最近増えた
用途によっては docker イメージも便利
Powered by Rabbit 2.2.1
15/15