共计 1494 个字符,预计需要花费 4 分钟才能阅读完成。
This version of pnpm requires at least Node.js vXXX 的解决方案
Centos7 环境下,pnpm 与 Node.js 版本不兼容导致报错 This version of pnpm requires at least Node.js vXXX 的解决方案
错误原因其实就是 pnpm 的版本不兼容 Node.js 的版本,明白了可以直接跳到解决方案
1 报错原因
1.1 安装 pnpm
在安装的时候我们可以看到,已经报了警告说,需要 node 的版本是要求在 18.12 版本以上的
npm install -g pnpm
1.2 查看 Node.js 版本
查看自己的 node 的版本,版本是 v16.20.0 的,确实不符合当前下载的 pnpm 的要求
node -v
1.3 运行项目
这个时候如果我们无视这个警告,来到项目目录就直接去安装依赖,运行我们的项目的时候,会发生以下报错
pnpm install
2 解决方案
解决方案也是比较简单,降低 pnpm 的版本 或者 提高 Node.js 的版本 就可以了
但是又因为如果要提高 Node.js 的版本的话,看到我这种情况的话需要升级 Node.js 的版本到 v18.12;
而我使用的 Centos7 安装 Node.js 的 18 及以上的版本的时候会报错(原因是:Node.js 需要依赖的 glibc 库和一下其它的库,而这些库版本过低,需要先升级这些库后才能进行安装)
对 Centos7 安装 Node.js 的 v18 以上版本感兴趣的,可以 参考 这位博主的文章 https://blog.csdn.net/ht3hyc/article/details/137083137
所以如果不是项目本来的 依赖就要求 Node.js 需要更高版本 的话,可以采用降低 pnpm 的版本进行解决
2.1 卸载 pnpm
执行下面的命令,没报错应该就卸载成功了,可以使用“pnpm -v”确定是否成功卸载
npm uninstall -g pnpm
2.2 安装合适版本的 pnpm
怎么确定自己的 Node.js 适配那个版本的 pnpm 呢?请看下面的参考图(这个在 pnpm 中文官网上看到的参考图),自己的 Node.js 对应可以装那个版本就选一个进行安装就行
对 pnpm 的其它配置感兴趣的可以到官网进行了解,安装 | pnpm 中文网 (nodejs.cn)
我的 Node.js 版本是 v16.20.0 所以对应可以下载 pnpm7 和 pnpm8,所以我们就安装其中一个版本就行了
为了加快安装,我们最好配置一下 npm 的镜像源,如果不是 npm 进行安装的话,就跳过这一步或者查看对应工具怎么配置镜像源
这里将 npm 的源设置为镜像源的地址
npm config set registry https://registry.npmmirror.com/
下面命令用于安装 pnpm 7(如果你需要安装 pnpm 8 的话 就将 pnpm@7 改成 pnpm@8 就行了)
npm install -g pnpm@7
成功后查看 pnpm 的版本;如果一直卡住没有进行下载或者下载失败,可以检查一下自己的网络或者进行镜像源的配置
pnpm -v
2.3 运行项目
再次测试项目是否能够运行,如果项目本身没有 bug 且版本依赖也没有问题,下面应该都能正常运行
pnpm install
pnpm dev
3 结语
其实这个报错解决很简单,就是我写的有点太详细了,单纯就是 pnpm 与 Node.js 版本不兼容而已,解决方案不会很复杂
Node.js 的其它版本也可以参考进行解决,但如果是由于其它问题导致的报错,则本文章无法提供参考,请注意
文章可能存在个人理解的欠缺,还请各位大佬指点指点,じゃあ!
原文地址: ERROR:This version of pnpm requires at least Node.js vXXX 的解决方案