You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Vite项目遇Node版本冲突:需18/20却兼容16/17?

问题原因与解决方法

原因分析

1. create-vite@5.x的Node版本要求

Vite 5.x对应的脚手架工具create-vite@5.0.0,将最低兼容Node版本提升到了^18.0.0 || >=20.0.0,你的Node v16.17.1不符合该要求,因此触发版本不兼容报错。

2. @achrinza/node-ipc@9.2.2的版本限制

切换到Node v20.10.0后,项目依赖链中引入的@achrinza/node-ipc@9.2.2,其package.json的engines字段仅允许Node版本为8、10、12、14、16、17,Node20不在允许范围内。而Yarn v1默认会严格校验依赖包的engines声明,所以抛出错误。

解决方法

方法一:降级create-vite至兼容Node16的版本

使用支持Node16的create-vite v4.x版本创建项目(v4.x最低支持Node14.18+):

nvm use 16.17.1
yarn create vite my-vue-project --template vue --package-manager yarn --version 4.5.0

进入项目后执行yarn install即可完成依赖安装,不会触发版本冲突。

方法二:跳过Yarn的engines版本校验(适配Node20)

如果想保留Node20和Vite5.x,可让Yarn忽略依赖包的engines校验:

  • 单次生效:
nvm use 20.10.0
yarn create vite my-vue-project --template vue --package-manager yarn --ignore-engines
  • 永久生效(全局配置):
yarn config set ignore-engines true

之后执行创建命令和yarn install就不会再触发该报错。

方法三:升级@achrinza/node-ipc至兼容Node20的版本

若不想忽略校验,可手动升级该依赖到支持Node20的版本(v10.x+):

  1. 临时跳过校验完成项目初始化:
yarn create vite my-vue-project --template vue --package-manager yarn --ignore-engines
cd my-vue-project
  1. 强制升级依赖:
yarn add @achrinza/node-ipc@^10.0.0 --dev --force

v10.x版本的@achrinza/node-ipc已移除旧Node版本限制,兼容Node18+。

内容的提问来源于stack exchange,提问作者Steve Bennett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:21:17