Nuxt.js+Firebaseを勉強しています。
npm audit fix
したら、ビルドが Vue packages version mismatch
エラーになりました。本記事はそのときのメモです。
環境
- Firebase 7.3.0 → 7.15.5
- Vue 2.6.10 → 2.6.11
背景
サードパーティのバリデーションプラグインであるVee-validateをインストールすることにしました。
npm install vee-validate --save
したときに次のようなメッセージが表示されました。
added 1 package from 1 contributor and audited 1300 packages in 66.018s
found 197 vulnerabilities (181 low, 16 moderate)
run `npm audit fix` to fix them, or `npm audit` for details
脆弱性が疑われるライブラリバージョンを使っていると警告が出るとのことなので、 npm audit fix
を実行しました。
npm audit fix
は成功し、 Firebase 7.3.0 が Firebase 7.15.5 になりました。
ビルド時のエラー
npm run build
を実行したときのエラーは次の通りです。
Vue packages version mismatch:
- vue@2.6.10
- vue-server-renderer@2.6.11
This may cause things to work incorrectly. Make sure to use the same version for both.
対処
以下、私の判断が正しいのか分かりませんが。。。
私はvueのバージョンを上げるべきと判断して npm i vue
を実行しました。実行結果は以下の通りです。
+ vue@2.6.11
removed 1 package, updated 1 package and audited 1165 packages in 13.653s
found 0 vulnerabilities
vue-server-renderer@2.6.11
とバージョンが同じになりました。
再度 npm run build
を実行したところ、さらにエラーが出ました。内容は次の通りです。
Vue packages version mismatch:
- vue@2.6.11 (xxx\node_modules\vue\dist\vue.runtime.common.js)
- vue-template-compiler@2.6.10 (xxx\node_modules\vue-template-compiler\package.json)
This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using vue-loader@>=10.0, simply update vue-template-compiler.
If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.
npm info vue-loader version
でvue-loaderのバージョンを確認したところ10.0以上だったので、 npm install --save-dev vue-template-compiler
でvue-template-compilerのバージョンを上げます。
+ vue-template-compiler@2.6.11
removed 1 package, updated 1 package and audited 1169 packages in 9.933s
found 0 vulnerabilities
vue@2.6.11
とバージョンが同じになりました。
npm run build
を実行すると無事に成功しました。