ERROR:This version of pnpm requires at least Node.js vXXX 的解决方案

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的其它版本也可以参考进行解决,但如果是由于其它问题导致的报错,则本文章无法提供参考,请注意

文章可能存在个人理解的欠缺,还请各位大佬指点指点,じゃあ!

相关推荐
之恒君6 小时前
Node.js 模块加载 - 4 - CJS 和 ESM 互操作避坑清单
前端·node.js
Esun_R10 小时前
当 LLM 开始连接真实世界:MCP 的原理、通信与工程落地
node.js·openai·mcp
爱写程序的小高12 小时前
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
前端·npm·node.js
程序员爱钓鱼12 小时前
Node.js 编程实战:测试与调试 - 单元测试与集成测试
前端·后端·node.js
哟哟耶耶13 小时前
Plugin-webpack内置功能split-chunks-plugin配置打包代码分割
前端·webpack·node.js
SailingCoder14 小时前
AI 流式对话该怎么做?SSE、fetch、axios 一次讲清楚
前端·javascript·人工智能·ai·node.js
天远数科15 小时前
Node.js全栈实战:基于天远名下车辆数量查询API实现的智能资产核验组件
大数据·node.js
嫂子的姐夫15 小时前
013-webpack:新东方
爬虫·python·webpack·node.js·逆向
爱写程序的小高15 小时前
npm版本降级、nvm切换node版本、webpack版本与vue版本不一致
前端·npm·node.js
嚣张丶小麦兜16 小时前
npm的应用
前端·npm·node.js