Error: "createRequire is not a function Referenced from: BaseConfig"

Error: "createRequire is not a function Referenced from: BaseConfig"

我有一个从 create-react-app 模板创建的新克隆的存储库。我 npm install 安装软件包,然后 npm start 在 localhost:3000 上提供文件。我的同事(回购创建者)没有任何问题。

但是,我看到页面闪烁了一秒钟,然后出现以下错误:

Failed to compile
createRequire is not a function
Referenced from: BaseConfig

错误消息没有提供任何其他信息来帮助追踪它可能来自哪个文件。

我尝试了以下方法来解决问题:

  1. 正在删除 node_modulespackage-lock.json 并重新安装
  2. 删除整个存储库并重新克隆
  3. 在项目文件中搜索 'createRequire' 或 'BaseConfig' 未找到任何结果
  4. 在线搜索类似问题。 None 似乎遇到了与我遇到的相同的错误。

其他详情: npm 版本 6.14.8 反应版本 17.0.1

知道这个错误可能来自哪里,或者我可以采取哪些步骤来追踪它?

可以在create-react-app中与eslint连接

尝试重新安装 'eslint' 或 'eslint-config-react-app' https://github.com/AtomLinter/linter-eslint/issues/1351

BaseConfig是create-react-app react-scripts模块的一个变量 在 node_modules/react-scripts/config/webpack.config.js


  formatter: require.resolve('react-dev-utils/eslintFormatter'),
                eslintPath: require.resolve('eslint'),
                resolvePluginsRelativeTo: __dirname,
                // @remove-on-eject-begin
                ignore: isExtendingEslintConfig,
                baseConfig: isExtendingEslintConfig
                  ? undefined
                  : {
                      extends: [require.resolve('eslint-config-react-app')],

TL;DR Needed to upgrade node version

我尝试 npx create-react-app 确认问题出在模板还是项目代码上。这样做时,我收到一条消息,提示我的包依赖项需要更高版本的节点(我使用的是 v.10.4,最新版本是 v15.2.0)。

brew upgrade 安装了最新版本但没有更改整个系统的默认节点版本(即:node -v 仍然显示 v10.4)但是 nvm install --lts 然后 nvm alias-default [latest-version] 解决了我的问题!

对我来说,将 react-scripts 降级到最新的 3.x 版本解决了我的问题。我无法更新 NodeJS 版本,因为我无权访问 NodeJS 服务器实例。似乎它更适合 React 16.x.

我 运行 正在使用 NodeJS V10.0.0 构建应用程序。

我是菜鸟,但我只是在继续 MERN 堆栈教程之前在我之前中断的地方遇到了同样的错误消息。在休息期间,我一定是切换了 nvm 版本,多亏了这个帖子,我才能够更正这个问题。从终端,我只是 运行 nvm list。从结果中,我可以看到我是 运行 一个旧版本 (10.9.0),但有一个较新的版本 (10.12.0) 可供我使用,我通过 运行 [=11] 切换到=].这解决了我的问题。

有些解决方案对我不起作用。我卸载了 node.js 并安装了最新版本。成功了!