create-react-app (发现不兼容的模块)

Posted

技术标签:

【中文标题】create-react-app (发现不兼容的模块)【英文标题】:create-react-app (Found incompatible module) 【发布时间】:2020-01-10 07:21:41 【问题描述】:

我在create-react-app有这个问题

我的node version 10.16.3

我的npm version 6.9.0

npx create-react-app mac

/home/brian/Documentos/mac/mac 中创建一个新的 React 应用程序。

警告您正在使用不受支持的节点“13.0.0-nightly20190802452b393c1f”,可能会遇到错误或意外行为。 Yarn 支持以下 semver 范围:“^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0” 安装软件包。这可能需要几分钟。 安装 react、react-dom 和 react-scripts...

纱线添加 v1.17.3 警告您正在使用不受支持的节点“13.0.0-nightly20190802452b393c1f”,可能会遇到错误或意外行为。 Yarn 支持以下 semver 范围:“^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0” [1/4] 解决包... [2/4] 正在取包... 错误@babel/core@7.5.5:引擎“节点”与此模块不兼容。预期版本“>=6.9.0”。得到“13.0.0-nightly20190802452b393c1f” 错误发现不兼容的模块。 info 访问https://yarnpkg.com/en/docs/cli/add 获取有关此命令的文档。

中止安装。

yarnpkg add --exact react react-dom react-scripts --cwd /home/brian/Documentos/mac/mac 失败了。

正在删除生成的文件... package.json

正在删除生成的文件... yarn.lock

从 /home/brian/Documentos/mac 中删除 mac/

完成。

【问题讨论】:

【参考方案1】:
create-react-app react-app --use-npm

这对我有用

【讨论】:

【参考方案2】:

您使用的节点版本似乎不兼容。您可以尝试使用节点 10 或 12 吗?我建议使用nvm 来管理不同的节点版本。

许多包在其package.json 中定义了明确的节点版本。例如在@babel/core:

"engines": 
  "node": ">=6.9.0"
,

您的节点版本:13.0.0-nightly20190802452b393c1f 似乎不符合这些要求。

您可以在处理此问题的yarn 中see the source。

您可以see here 表明semver 包似乎无法处理此问题:

import semver from "semver";

console.log(semver.satisfies("13.0.0", ">=6.9.0")); // true
console.log(semver.satisfies("13.0.0-nightly20190802452b393c1f", ">=6.9.0")); // false

【讨论】:

以上是关于create-react-app (发现不兼容的模块)的主要内容,如果未能解决你的问题,请参考以下文章

javascript设计模式——适配器模式

R/S选择性胺转氨酶的模体设计指导发现新型转氨酶

使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案

create-react-app打包上线页面空白的问题

Python中负数的模运算

react+mobx 兼容IE11