#####いつも通り、rails g controller Rooms show
でコントロールを作成しようとしたところ、このような長いエラーが出てしまいました。
/Users/sawayu/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/execjs-2.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)
from/Users/sawayu/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:5:in '<module:ExecJS>' from/Users/sawayu/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:4:in '<top (required)>' from/Users/sawayu/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in 'require'
: : :
from -e:1:in '<main>'
上のfromから始まる文が30行以上出てきました。
エラーをググったところ、springをストップさせるといいみたい!
sawayu@sawayunoMacBook-Pro oil % spring stop
Spring stopped.
#ストップ確認
このようにspring stop
でspringをストップさせた後、もう一度 rails g controller Rooms show
でコントローラー作成しようとしたらまた先ほどと同じエラー分が出てしまいました。
Spring stopped.
の後bin/spring status
このコマンドでspringが起動しているか確認できます。
##エラーの解決結論##
gem 'mini_racer'
Gemfileにgem 'mini_racer'
と入力
忘れずにbundle install
をした後、showアクションのコントロール作成したいので
rails g controller Rooms show
と入力。
すると
Running via Spring preloader in process 8112 create app/controllers/rooms_controller.rb route get 'rooms/show' invoke erb create app/views/rooms create app/views/rooms/show.html.erb invoke test_unit create test/controllers/rooms_controller_test.rb invoke helper create app/helpers/rooms_helper.rb invoke test_unit invoke assets invoke coffee create app/assets/javascripts/rooms.coffee invoke scss create app/assets/stylesheets/rooms.scss
無事、エラー解決できました!
####原因は多分、MacOSによるアップデートが原因だと思います!####
#####MacOSアップデート以外何もしていないので!