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

npx create-react-app安装React报cb.apply is not a function错误

问题根因

从debug日志可以直接定位问题来源,和Nodist直接相关:

  • 当前运行的Node版本为v18.1.0,但Nodist内置绑定给npx调用的npm版本为5.1.0(2017年发布的老旧版本)
  • 老版本npm依赖的graceful-fs库和Node 18+的内置fs API存在兼容性断裂,直接触发cb.apply is not a function报错
  • 本质是Nodist的路径优先级逻辑有bug:把自身内置的老旧npx、npm路径放在了高优先级,导致切换高版本Node后,调用的还是和新Node不兼容的老版npm/npx,出现版本错位。
修复步骤(按优先级排序)
  • 先通过Nodist切换到Node LTS长期支持版本(可选18.17+ 或 20.x 稳定线,不要用早期beta版Node18),切换完成后不要用Nodist自带的npm,手动执行npm install -g npm@latest升级全局npm到和当前Node匹配的版本,执行npm -v确认版本号在8.x以上后,再重新运行npx create-react-app命令测试。
  • 如果第一步操作后仍报错,打开Windows终端执行where npx、where npm检查路径优先级:如果返回的第一个可执行文件路径是C:\Program Files (x86)\Nodist\bin\目录下的文件,就调整系统环境变量的Path顺序,把当前选中Node版本的安装路径优先级调到Nodist bin路径之前,让Node自带的新版npm、npx优先被系统调用。
  • 临时快速绕过方案:不用npx命令,直接执行npm init react-app 你的项目名称创建项目,该命令会直接调用当前全局npm绑定的create-react-app版本,不会走Nodist内置的老旧npx逻辑。
  • 如果以上调整都无效,直接卸载Nodist,下载Node LTS版本官方安装包手动安装,安装时勾选自动配置环境变量选项,安装完成后执行npm cache clean --force清空缓存,再重新执行项目创建命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 18:27:39