Nuxt.jsのアップデートでエラーが起こりアップデートできない問題
Vue packages version mismatch:エラー
npm コマンドを使って nuxt.js 一式をマイナーアップデートするためにモジュール一式を再インストールするがエラーがでてしまう。暫定対応で追加しているモジュールのバージョンを下げた
手順と結果の状況
アップデート手順
npmコマンドを使って公式サイト通りにおこなう
手順の参考
参考: https://nuxtjs.org/ja/docs/get-started/upgrading/#npm
sudo rm -rf node_modules/ sudo rm package-lock.json npm install
エラー内容
アップデートをすると下記のようなエラー
Vue packages version mismatch: - vue@3.2.31 - vue-server-renderer@2.6.14 This may cause things to work incorrectly. Make sure to use the same version for both.
vue関連のモジュールインストール状況を見る
npm list vue ... ├─┬ bootstrap-vue@2.21.2 │ └─┬ portal-vue@2.1.7 │ └── vue@2.6.14 ├─┬ nuxt@2.15.8 │ ├─┬ @nuxt/vue-app@2.15.8 │ │ ├── vue@2.6.14 │ │ └─┬ vuex@3.6.2 │ │ └── vue@2.6.14 deduped │ └─┬ @nuxt/vue-renderer@2.15.8 │ └── vue@2.6.14 └─┬ vuex-persistedstate@4.1.0 └─┬ vuex@4.0.2 └─┬ vue@3.2.31 └─┬ @vue/server-renderer@3.2.31 └── vue@3.2.31 deduped
2022/03/02現在だとnuxt.jsはベータ版3が公開されておりnuxt.jsのバージョン2はv2.15.8で止まっている様子
参考: https://nuxtjs.org/ja/releases
vueのバージョンを2によせるしかなさそう。
原因はvuex-persistedstate@4.1.0の依存モジュール
vuex-persistedstateについては現在非推奨になってしまっていた。
参考: https://www.npmjs.com/package/vuex-persistedstate/v/4.1.0
暫定対応
根本的な対策はこのモジュールは使わず別の方法を模索しないといけないが時間がかかりそう。一旦モジュールのバージョンを下げて対応してその後、根本的な対策をしておきたい。
packege.jsonを変更
packege.json
{ "dependencies": { "vuex-persistedstate": "^3.2.1", } }
インストールやり直し
sudo rm -rf node_modules/ sudo rm package-lock.json npm install
エラー回避されたようなので念の為状況確認
npm list vue ... ├─┬ bootstrap-vue@2.21.2 │ └─┬ portal-vue@2.1.7 │ └── vue@2.6.14 deduped ├─┬ nuxt@2.15.8 │ ├─┬ @nuxt/vue-app@2.15.8 │ │ └── vue@2.6.14 deduped │ └─┬ @nuxt/vue-renderer@2.15.8 │ └── vue@2.6.14 deduped └─┬ vuex-persistedstate@3.2.1 ├── vue@2.6.14 └─┬ vuex@3.6.2 └── vue@2.6.14 deduped
vuex-persistedstateの代替えについてはまた別途紹介したいと思います。
コメント
0 件のコメント :
コメントを投稿