vue3项目,初始化代码,使用pnpm install安装依赖的时候报错,错误码是ERR_PNPM_READ_FROM_STORE, SyntaxError: unexpected token in json at position 0
一开始看这个SyntaxError,以为是语法错误,但一想我是初始化的代码,没有改任何代码,应该不是什么语法问题。
后来就找前面错误码ERR_PNPM_READ_FROM_STORE的问题,但上网查询也没有关于ERR_PNPM_READ_FROM_STORE这个错误码的解答。因为之前就用过pnpm,执行pnpm install也没问题,为什么突然就报错了呢?node版本没错,pnpm也全局安装了,镜像也配置了,到底问题出在哪儿,然后持续一段时间就是循环“删除node_modules文件,重新运行pnpm install命令”这个过程。
之后又用npm试了一下,npm install没问题,npm run dev也没问题,那就是pnpm的问题了。我以为要卸载pnpm重新安装,就开始搜pnpm卸载的教程(没卸载过,感觉任何东西卸载重装都好麻烦),直到我看到了关于pnpm的使用,这篇文章:PNPM 安装与使用_pnpm install-CSDN博客,文章中最后第5点 清除pnpm缓存,以及这篇文章:从npm切换到pnpm小记 - 知乎的最后,也提到安装失败。于是我就去搜索pnpm store prune命令,查到在pnpm v6.x 中文文档中有写,如下图:

然后,我又重新回去看报错信息,发现我只看报错的最后一行了,没看上面还有一些红字:
WARN deprecated @xxxxxxxx@0.x.x: vx is moved to ...... @xxxxxxxx package
WARN 8 deprecated subdependencies found: ..........(好多依赖包)
就在想有没有可能是依赖包更新的原因,于是就删除node_modules和package-lock.json这俩文件,然后试着执行了一下pnpm store prune,remove了一些文件,然后重新pnpm install,结果真的可以了!!!(虽然还是有上面WARN的两行字,但应该没啥大问题,pnpm dev能运行,哈哈)
总结:
①删除node_modules和package-lock.json这俩文件(package-lock.json是我用npm install时产生的,之后使用pnpm install会重新生成一个pnpm-lock.yaml文件)
②执行pnpm store prune,清理存储
③重新pnpm install


文章讲述了作者在Vue3项目中遇到pnpminstall报错ERR_PNPM_READ_FROM_STORE的问题,经过排查发现是由于依赖包更新导致。解决方法包括删除node_modules和package-lock.json,执行pnpmstoreprune清理存储,最后重新安装依赖。

3916

被折叠的 条评论
为什么被折叠?



