エラー内容
macOS Catalina 10.15.3 → 10.15.6 へバージョンアップした後に$bin/rspecしたら、次のエラーが発生した。
terminal
$bin/rspec
/.../.../.../vendor/bundle/ruby/2.5.0/gems/execjs2.7.0/lib/execjs/runtimes.rb:58:in `autodetect':
Could not find a JavaScript runtime.
See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
JavaScriptランタイムが見つからないというエラーが発生している。
環境
- macOS Catalina 10.15.6(バージョンアップ後)
- ruby '2.5.7'
- rails '5.2.3'
- rspec-rails '4.0.0.beta2'
解消法
結論:Gemfileに「gem 'mini_racer', platforms: :ruby」を追加
エラーのログを見るとGithubのリンクが載っているので、リンク先を確認。
確認してみると、Gemfileにmini_racerというgemを追加すると良さそう。
Gemfile
(省略)
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby
(省略)
Gemfileのこの部分のコメントアウトを外す。
その後、$bundle installして、
再度$bin/rspecをしてみると、正常にテストが走った。