はじめに
spring stop
すればいいよ!とか書いてあって対処したもののさっぱり解決しなかったので、色々試行錯誤した時の話です。
どんなエラーが出たか
以下のようなエラーが出ました。
config
がなんか変らしいです。
/Users/t-nakagawa/rails/config/application.rb:46:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `require'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `preload'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run'
from /Users/t-nakagawa/rails/vendor/bundle/ruby/2.6.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>'
from /Users/t-nakagawa/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/t-nakagawa/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from -e:1:in `<main>'
該当箇所のコード
spring2.0.2のコードを確認します。
パス関連でエラーを起こしているようなので、configフォルダが怪しいということが分かります。
require Spring.application_root_path.join("config", "application")
解決しなかった対処方法
spring stop
してはダメでした。これはこれで立ち上げておくとrails g
がエラーになるみたいなんで、停止しておいた方が無難だと思います。
解決した対処方法
この作業をする直前にやったconfig/application.rb
の作業が良くなくて上手くconfigが処理出来なかったようです。
一旦git restore
で切り戻してrails g
することで無事コマンドが終了してファイルが作成できました。
終わりに
何か困った際は一旦切り戻しするの重要。
念の為、周りの人にspringのバージョンが同じであるかの確認とコマンドが成功しているかの確認は行いました。
みんな駄目ならこの環境自体が駄目で自分だけ駄目なら自分の変更による影響というのが分かるので、やっておきましょう。