After upgrading (which the caret dependencies allow) middleware runs multiple times with different contexts. As an example try the official i18n demo, it is completely broken... but only in dev. Build+start work fine.
yarn upgrade vue-template-compiler@~2.2.6 vue-server-renderer@~2.2.6 vue-template-compiler@~2.2.6 vue@~2.2.6
fixed mine.
<!--cmty--><!--cmty_prevent_hook--><div align="right"><sub><em>This question is available on <a href="https://nuxtjs.cmty.io">Nuxt.js</a> community (<a href="https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c550">#c550</a>)</em></sub></div>