1. 概要
環境は、「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へとりあえず移行する際のコードや操作の違いについて」(リンク切れになりました)ってのがありました。
こういうサイトもあるから、最新にしちゃうか。
どうせまだ使ったことないんだし。
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日現在)。