【问题标题】:ERROR in Module.createRequire is not a functionModule.createRequire 中的错误不是函数
【发布时间】:2022-04-06 12:20:03
【问题描述】:

我尝试使用节点版本 12.1.0 创建 React 应用程序,但它警告我我的最低节点版本应至少为 14.0。我使用nvm 将我的节点版本更改为 14.0 并创建了反应应用程序。 但是,我想在节点版本 12.1.0 上使用我的应用程序。所以我改为节点版本 v12.1.0 但我得到了:

“Module.createRequire 中的错误不是函数”错误。还有“错误 错误:子编译失败:Module.createRequire 不是 函数"

【问题讨论】:

  • 这些答案解决了你的问题吗?
  • 很遗憾没有:(

标签: node.js reactjs create-react-app


【解决方案1】:

正如我们在官方docs中看到的那样:

创建 React 应用

Create React App 是学习 React 的舒适环境,并且 是开始构建新的单页应用程序的最佳方式 反应。

它设置您的开发环境,以便您可以使用最新的 JavaScript 功能,提供良好的开发人员体验,并且 优化您的应用程序以进行生产。 您需要 Node >= 14.0.0 并且 npm >= 5.6 在你的机器上。

所以这些是requirementsmust meet 似乎无法避免that way

【讨论】:

  • 这对我来说是个问题。我需要将我的 nodejs 升级到 14+,并且是 10。我不需要按照说明更新 npm,因为我使用的是 Yarn。
【解决方案2】:

使用 14+ 的 node.js 版本 只需使用 nvm -version_name

【讨论】:

    【解决方案3】:

    当我使用节点 v16(通过 nvm)时,使用 create-react-app v5.0.0 创建的应用程序出现此错误。将项目降级到节点 14.18.12 为我解决了这个问题(我还删除了 node_modules 并再次运行 npm install)。

    【讨论】:

    • 从 v10... 更新到 v14.19.2 帮助了我
    【解决方案4】:

    尝试完全更新 nodejs 和 npm 的最新稳定版本:

    sudo apt -y update && sudo apt -y upgrade
    
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    sudo apt -y update && sudo apt -y upgrade
    sudo apt -y autoremove
    

    然后,将目录更改为您的应用目录:

    cd myapp/ #Change this to match your app directory
    

    删除 node_modules 文件夹

    sudo rm -rf node_modules/
    

    然后重新安装软件包:

    npm i
    

    查看您的应用是否构建成功:

    npm run build
    

    【讨论】:

    • 这对我在运行 debian 的 OrangePiZero2 上非常有用。谢谢
    【解决方案5】:

    你可以试试

    curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -

    sudo apt-get install -y nodejs

    https://github.com/nodesource/distributions/blob/master/README.md#debinstall

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-28
      • 2022-08-03
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 2017-10-23
      • 2013-01-04
      • 1970-01-01
      相关资源
      最近更新 更多