更新了package.json中某个包的版本,然后执行 pnpm i 重新安装,运行时页面报错:
Uncaught (in promise) TypeError: Cannot destructure property 'push' of 'useRouter(...)' as it is undefined
这个报错似乎跟Vue有关系。排查下来,跟那个包没关系,只是改了一点点逻辑代码。经过多次测试,问题原因:pnpm的版本发生了变化,pnpm-lock.yaml文件是pnpm版本8.6生成的,现在的版本是8.15,更新了package.json,执行pnpm i后,pnpm-lock.yaml出现了一些不兼容的东西(我觉得是pnpm自身的问题)。
解决方法:要么保持前后pnpm版本不变。当pnpm版本和package.json更新时,如果出现问题,可以删除 pnpm-lock.yaml,执行pnpm i重新生成 pnpm-lock.yaml。