vue3代码运行报错如下:
No matching export in “node_modules/.pnpm/vue-demi@0.14.6_vue@3.2.37/node_modules/vue-demi/lib/index.mjs” for import “hasInjectionContext”
node_modules/.pnpm/pinia@2.0.14_typescript@5.0.4_vue@3.2.37/node_modules/pinia/dist/pinia.mjs:6:9:
6 │ import { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDis…
╵ ~~~~~~~~~~~~~~~~~~~
原因
vue版本和pinia版本不兼容导致,因为vue版本"vue": "3.2.37"
,pinia版本"pinia": “^2.0.14”,这两个版本不兼容。
"vue": "<=3.2.37",
"pinia": "<=2.0.14",
要么vue<=3.2.37,pinia<=2.0.14,如果有一个大于该版本,另一个也需要大于对应版本。
解决办法
更改vue版本,将package.json 里的 vue 版本改为3.3.4,或者更改pinia,需要重新安装依赖。