ruby - Ruby on Rails - FreeBSD へのインストール(apache のない状態で)

 
1. 概要
2. 何をインストールするか
3. バージョン 4 をインストール
4. 結局最新に更新

1. 概要

 まずは FreeBSD の環境にインストールしてみたいと思います。  FreeBSD 自体は 11.2 RELEASE を VMWare 上に構築したものです。  余分なものは apache を含めインストールしていません。  ただし、portupgrade をインストールした時点で、ruby に依存する部分があるため ruby はインストール済です。  ruby のバージョンを確認

> ruby -v
ruby 2.4.5p335 (2018-10-18 revision 65137) [amd64-freebsd11]
 FreeBSD 上は新しくても 2.4 なのだ。  gem はないのでインストールします。  gem に関しては「ruby - gem(パッケージ管理)」の方でどうぞ。

2. 何をインストールするか

 バージョンもあれこれあるようなのではて rails を gem でサーチしてみるべと gem search したらびっくり

> gem search rails

*** REMOTE GEMS ***

aa-rails4 (0.6.0)
aaronchi-jrails (0.5.1)
aavkontakte-rails3 (0.1.9)

・・・	略	・・・

zurb-ink-rails (1.0.5)
zurui-sass-rails (0.1.0)
zxcvbn-rails (4.4.1.1)
 5,000行以上出力されました。さすがに流行っているだけのことはあるなぁ。  収拾がつかないので絞り込む???  「Ruby on Rails - Wikipedia」によれば、2018年8月7日に 5.2.1 がリリースされているらしい。  バージョン 4 と 5 で見てみると

> gem search ^rails4

*** REMOTE GEMS ***

rails4-autocomplete (1.1.1)
rails4-przelewy24 (0.1.6)
rails4_acts_as_paranoid (0.1.4)
rails4_before_render (0.2.1)
rails4_client_side_validations (4.2.0)
rails4_upgrade (0.5.0)
rails4foryouandme (0.0.2)

> gem search ^rails5

*** REMOTE GEMS ***

rails5-spec-converter (2.0.0)
rails5_before_render (0.3.0)
rails5_xhr_update (0.5.0)
 ここはまぁ、今までの経験で、おそらくは安定しているであろう、バージョン 4 の方をインストールすることとします。

3. バージョン 4 をインストール


> gem install -v=4 rails
 インストール後にリストしてみると

> gem list

*** LOCAL GEMS ***

actionmailer (4.0.0)
actionpack (4.0.0)
activemodel (4.0.0)
activerecord (4.0.0)
activerecord-deprecated_finders (1.0.4)
activesupport (4.0.0)
arel (4.0.2)
builder (3.1.4)
bundler (1.17.1)
concurrent-ruby (1.0.5)
erubis (2.7.0)
hike (1.2.3)
i18n (0.9.5)
mail (2.5.5)
mime-types (1.25.1)
minitest (4.7.5)
multi_json (1.13.1)
polyglot (0.3.5)
rack (1.5.5)
rack-test (0.6.3)
rails (4.0.0)
railties (4.0.0)
rake (12.3.1)
sprockets (2.12.5)
sprockets-rails (2.0.1)
thor (0.20.0)
thread_safe (0.3.6)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.55)
 なるほど、-v=4 って指定しちゃったからくっきり rails (4.0.0) がインストールされちゃってるわけだ。  更新すべきかを見てみると

> gem outdated
actionmailer (4.0.0 < 5.2.1)
actionpack (4.0.0 < 5.2.1)
activemodel (4.0.0 < 5.2.1)
activerecord (4.0.0 < 5.2.1)
activesupport (4.0.0 < 5.2.1)
arel (4.0.2 < 9.0.0)
builder (3.1.4 < 3.2.3)
hike (1.2.3 < 2.1.3)
i18n (0.9.5 < 1.1.1)
mail (2.5.5 < 2.7.1)
mime-types (1.25.1 < 3.2.2)
minitest (4.7.5 < 5.11.3)
rack (1.5.5 < 2.0.5)
rack-test (0.6.3 < 1.1.0)
rails (4.0.0 < 5.2.1)
railties (4.0.0 < 5.2.1)
sprockets (2.12.5 < 3.7.2)
sprockets-rails (2.0.1 < 3.2.1)
tilt (1.4.1 < 2.0.8)
treetop (1.4.15 < 1.6.10)
tzinfo (0.3.55 < 1.2.5)
 う~ん。やっぱり、5.2.1 にしちゃった方がいいのかなぁ・・・。  前の項で調べた中に rails4_upgrade ってのがあったけど・・・。  ちょっと調べましたら「今更ですがRails4→Rails5へとりあえず移行する際のコードや操作の違いについて | Ruby開発・事例サイト」ってのがありました。  こういうサイトもあるから、最新にしちゃうか。  どうせまだ使ったことないんだし。

4. 結局最新に更新

 結局最新に更新します。

> gem update
Updating installed gems
Updating actionmailer
Fetching: tzinfo-1.2.5.gem (100%)

・・・	略	・・・

Done installing documentation for treetop after 3 seconds
Gems updated: actionmailer actionpack actionview activejob activesupport crass erubi globalid loofah mini_portile2 minitest nokogiri rack rails-dom-testing rails-html-sanitizer tzinfo activemodel activerecord arel builder hike i18n mail mini_mime mime-types mime-types-data rack-test actioncable activestorage marcel method_source mimemagic nio4r rails railties sprockets sprockets-rails websocket-driver websocket-extensions tilt treetop

> gem cleanup
Cleaning up installed gems...
Attempting to uninstall rails-4.0.0
Successfully uninstalled rails-4.0.0

・・・	略	・・・

Attempting to uninstall hike-1.2.3
Successfully uninstalled hike-1.2.3
Clean up complete

> gem list

*** LOCAL GEMS ***

actioncable (5.2.1)
actionmailer (5.2.1)
actionpack (5.2.1)
actionview (5.2.1)
activejob (5.2.1)
activemodel (5.2.1, 4.0.0)
activerecord (5.2.1, 4.0.0)
activerecord-deprecated_finders (1.0.4)
activestorage (5.2.1)
activesupport (5.2.1, 4.0.0)
arel (9.0.0, 4.0.2)
builder (3.2.3, 3.1.4)
bundler (1.17.1)
concurrent-ruby (1.0.5)
crass (1.0.4)
erubi (1.7.1)
erubis (2.7.0)
globalid (0.4.1)
hike (2.1.3)
i18n (1.1.1, 0.9.5)
loofah (2.2.2)
mail (2.7.1)
marcel (0.3.3)
method_source (0.9.0)
mime-types (3.2.2)
mime-types-data (3.2018.0812)
mimemagic (0.3.2)
mini_mime (1.0.1)
mini_portile2 (2.3.0)
minitest (5.11.3, 4.7.5)
multi_json (1.13.1)
nio4r (2.3.1)
nokogiri (1.8.5)
polyglot (0.3.5)
rack (2.0.5)
rack-test (1.1.0, 0.6.3)
rails (5.2.1)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.0.4)
railties (5.2.1)
rake (12.3.1)
sprockets (3.7.2)
sprockets-rails (3.2.1)
thor (0.20.0)
thread_safe (0.3.6)
tilt (2.0.8)
treetop (1.6.10)
tzinfo (1.2.5, 0.3.55)
websocket-driver (0.7.0)
websocket-extensions (0.1.3)
 とまぁ、こんな感じになりました(2018年10月30日現在)。