はじめに
4 系列の最後になります。同じように順番に設定していきます。Ruby は 2.4.5 まであげられます。そうすると、MacBook 側でもコードを書けるようになって楽になりそうです。結局、2.4.5 ではセグメンテーションフォールトで動かなかったので、次のバージョンまで延期です。そもそも、M1 では 2.4 系の Ruby はコンパイルできませんでした。
Rails のアップデート
まず、Gemfile の Rails のバージョンを変更します。
gem 'rails', '4.2.11.3'
また、upgrade だと勝手に入らない、web-console を手動で development グループに入れるように指示がありました。
gem 'web-console', '~> 2.0'
bundle update で一式をアップデートします。
bundle update
これまでと同様に vimdiff で rails:update を実施します。include していた部分でエラーが出たので、取り急ぎ include をコメントアウトして設定だけ差し替えをしてみます。
env THOR_DIFF=vimdiff rake rails:update
また、PostgreSQL 10 対策もしておきます。rspec でエラーが出たものを修正していきます。
include を元に戻して、bin/rspec をしてみました。特に問題はなく全て通過しました。
Finished in 11 minutes 48 seconds (files took 8.11 seconds to load) 7719 examples, 0 failures, 98 pending
Ruby のアップデート
ここまで来たので、Ruby を 2.4.5 まで上げてみます。しかし、rspec を実行してみたら、ここでも 4.1 と同じようにセグメンテーションフォールトが出てしまいました。まだ行けるので、先に Rails のバージョンを上げましょう。ただ、5.0 では 2.2.2 が必要なので、そこまでは上げておきます。
(12/29追記) Segmentation fault の原因が hpricot だとわかったので、 Ruby 2.4.5 でやり直してみました。少し速くなったくらいでしょうか。
Finished in 11 minutes 13 seconds (files took 6.56 seconds to load) 7719 examples, 0 failures, 98 pending
gem の推移はこんな感じになりました。
gem_name | ver4.1 | ver4.2 | changed |
---|---|---|---|
actionmailer | 4.1.16 | 4.2.11.3 | ↑ |
actionpack | 4.1.16 | 4.2.11.3 | ↑ |
actionview | 4.1.16 | 4.2.11.3 | ↑ |
activejob | 4.2.11.3 | + | |
activemodel | 4.1.16 | 4.2.11.3 | ↑ |
activerecord | 4.1.16 | 4.2.11.3 | ↑ |
activesupport | 4.1.16 | 4.2.11.3 | ↑ |
arel | 5.0.1.20140414130214 | 6.0.4 | ↑ |
bcrypt | 3.1.16 | 3.1.16 | = |
better_errors | 2.9.1 | 2.9.1 | = |
binding_of_caller | 0.8.0 | 0.8.0 | = |
brakeman | 4.4.0 | 4.4.0 | = |
builder | 3.2.4 | 3.2.4 | = |
choice | 0.2.0 | 0.2.0 | = |
ci_reporter | 2.0.0 | 2.0.0 | = |
coderay | 1.1.3 | 1.1.3 | = |
coffee-rails | 4.2.2 | 4.2.2 | = |
coffee-script | 2.4.1 | 2.4.1 | = |
coffee-script-source | 1.12.2 | 1.12.2 | = |
concurrent-ruby | 1.1.7 | 1.1.7 | = |
crass | 1.0.6 | + | |
database_cleaner | 1.8.5 | 1.8.5 | = |
debug_inspector | 0.0.3 | 0.0.3 | = |
devise | 3.5.10 | 3.5.10 | = |
devise-encryptable | 0.2.0 | 0.2.0 | = |
devise_ldap_authenticatable | 0.8.7 | 0.8.7 | = |
diff-lcs | 1.4.4 | 1.4.4 | = |
docile | 1.3.4 | 1.3.4 | = |
dotenv | 2.7.6 | 2.7.6 | = |
erubi | 1.10.0 | 1.10.0 | = |
erubis | 2.7.0 | 2.7.0 | = |
execjs | 2.7.0 | 2.7.0 | = |
factory_bot | 4.11.1 | 4.11.1 | = |
factory_bot_rails | 4.11.1 | 4.11.1 | = |
ffi | 1.12.2 | 1.12.2 | = |
formatador | 0.2.5 | 0.2.5 | = |
globalid | 0.4.2 | + | |
guard | 2.15.1 | 2.15.1 | = |
guard-compat | 1.2.1 | 1.2.1 | = |
guard-rspec | 4.7.3 | 4.7.3 | = |
haml | 4.0.7 | 4.0.7 | = |
haml-rails | 1.0.0 | 1.0.0 | = |
hpricot | 0.8.6 | 0.8.6 | = |
html2haml | 2.2.0 | 2.2.0 | = |
i18n | 0.9.5 | 0.9.5 | = |
interception | 0.5 | 0.5 | = |
jquery-rails | 3.1.5 | 4.4.0 | ↑ |
json | 1.8.6 | 2.5.1 | ↑ |
kaminari | 1.2.1 | 1.2.1 | = |
kaminari-actionview | 1.2.1 | 1.2.1 | = |
kaminari-activerecord | 1.2.1 | 1.2.1 | = |
kaminari-core | 1.2.1 | 1.2.1 | = |
listen | 3.0.8 | 3.0.8 | = |
loofah | 2.8.0 | + | |
lumberjack | 1.0.13 | 1.0.13 | = |
2.7.1 | 2.7.1 | = | |
method_source | 0.9.2 | 0.9.2 | = |
mini_mime | 1.0.2 | 1.0.2 | = |
mini_portile2 | 2.4.0 | 2.4.0 | = |
minitest | 5.14.2 | 5.14.2 | = |
nenv | 0.3.0 | 0.3.0 | = |
net-ldap | 0.17.0 | 0.17.0 | = |
nio4r | 2.3.1 | + | |
nokogiri | 1.9.1 | 1.9.1 | = |
notiffany | 0.1.3 | 0.1.3 | = |
orm_adapter | 0.5.0 | 0.5.0 | = |
pg | 0.20.0 | 0.20.0 | = |
power_assert | 1.2.0 | 1.2.0 | = |
pry | 0.12.2 | 0.12.2 | = |
pry-doc | 1.1.0 | 1.1.0 | = |
pry-rails | 0.3.9 | 0.3.9 | = |
pry-rescue | 1.5.2 | 1.5.2 | = |
public_suffix | 3.1.1 | 3.1.1 | = |
puma | 3.12.6 | 5.1.1 | ↑ |
rack | 1.5.5 | 1.6.13 | ↑ |
rack-cache | 1.9.0 | 1.9.0 | = |
rack-test | 0.6.3 | 0.6.3 | = |
rails | 4.1.16 | 4.2.11.3 | ↑ |
1.0.3 | + | ||
1.0.9 | + | ||
rails-erd | 1.5.2 | 1.6.0 | ↑ |
1.3.0 | + | ||
railties | 4.1.16 | 4.2.11.3 | ↑ |
rake | 13.0.3 | 13.0.3 | = |
rb-fsevent | 0.10.4 | 0.10.4 | = |
rb-inotify | 0.10.1 | 0.10.1 | = |
rb-readline | 0.5.5 | 0.5.5 | = |
rdoc | 5.1.0 | 6.2.0 | ↑ |
redcarpet | 3.5.1 | 3.5.1 | = |
responders | 1.1.2 | 2.4.1 | ↑ |
rspec | 3.9.0 | 3.10.0 | ↑ |
rspec-core | 3.9.3 | 3.10.0 | ↑ |
rspec-expectations | 3.9.4 | 3.10.0 | ↑ |
rspec-mocks | 3.9.1 | 3.10.0 | ↑ |
rspec-rails | 3.9.1 | 4.0.1 | ↑ |
rspec-support | 3.9.4 | 3.10.0 | ↑ |
ruby-graphviz | 1.2.4 | 1.2.4 | = |
ruby_parser | 3.15.0 | 3.15.0 | = |
sass | 3.7.4 | 3.7.4 | = |
sass-listen | 4.0.0 | 4.0.0 | = |
sass-rails | 6.0.0 | 6.0.0 | = |
sassc | 2.4.0 | 2.4.0 | = |
sassc-rails | 2.1.2 | 2.1.2 | = |
sexp_processor | 4.15.1 | 4.15.1 | = |
shellany | 0.0.1 | 0.0.1 | = |
simplecov | 0.17.1 | 0.17.1 | = |
simplecov-html | 0.10.2 | 0.10.2 | = |
simplecov-rcov | 0.2.3 | 0.2.3 | = |
spring | 1.7.2 | 2.0.2 | ↑ |
spring-commands-rspec | 1.0.4 | 1.0.4 | = |
sprockets | 3.7.2 | 3.7.2 | = |
sprockets-rails | 2.3.3 | 3.2.2 | ↑ |
test-unit | 3.3.8 | 3.3.8 | = |
thor | 0.20.3 | 0.20.3 | = |
thread_safe | 0.3.6 | 0.3.6 | = |