Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

rails sしたらYour Yarn packages are out of date!と表示された

問題のメッセージ

rails s したら以下のようなメッセージが表示されて、rails server起動できませんでした。

========================================
  Your Yarn packages are out of date!
  Please run `yarn install --check-files` to update.
========================================


To disable this check, please change `check_yarn_integrity`
to `false` in your webpacker config file (config/webpacker.yml).


yarn check v1.7.0
success Folder in sync.
Done in 0.14s.
yarn check v1.7.0
error "@babel/core#@babel/helpers" is wrong version: expected "^7.9.0", got "7.5.5"
error "@babel/core#@babel/template" is wrong version: expected "^7.8.6", got "7.4.4"
error "@babel/core#@babel/helper-module-transforms#@babel/helper-replace-supers" is wrong version: expected "^7.8.6", got "7.5.5"
error "@babel/preset-env#@babel/plugin-transform-classes#@babel/helper-define-map" is wrong version: expected "^7.8.3", got "7.5.5"
error "@babel/preset-env#@babel/plugin-transform-object-super#@babel/helper-replace-supers" is wrong version: expected "^7.8.3", got "7.5.5"
error "@babel/core#@babel/helper-module-transforms#@babel/helper-simple-access#@babel/template" is wrong version: expected "^7.8.3", got "7.4.4"
error "babel-jest#babel-plugin-istanbul#istanbul-lib-instrument#@babel/template" is wrong version: expected "^7.7.4", got "7.4.4"
error Found 7 errors.
info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.

書いてある通りやってみるが失敗

Please run yarn install --check-files to update. と書いてあるので

yarn install --check-files

を実行してから

rails s

をもう一度してみましたがだめでした。

解決した

一度 node_modulesディレクトリとyarn.lockファイルを削除します。

rm -rf node_modules/
rm yarn.lock

yarn installし直します。

yarn install

rails sしたら無事に起動できました。

rails s

依存パッケージとして深い階層にもともとあったものを、devDependenciesとかdependenciesに追加するとyarn.lockに定義されたバージョンと齟齬が出てエラーになるような感じなのかな?