Module.createRequire 中的错误不是函数

hoh*_*aha 32 node.js reactjs create-react-app

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

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

Mar*_*oG8 40

正如我们在官方文档中可以读到的:

\n

创建反应应用程序

\n
\n

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

\n

它会设置您的开发环境,以便您可以使用最新的\nJavaScript 功能、提供良好的开发人员体验,并\n优化您的应用以进行生产。您的计算机上\xe2\x80\x99 需要 Node >= 14.0.0\n 并且 npm >= 5.6。

\n
\n

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

\n

  • 这对我来说是个问题。我需要将我的 Nodejs 升级到 14+,当时是 10。我不需要按照说明更新 npm,因为我使用的是 Yarn。 (2认同)

Jun*_*ite 10

尝试完全更新 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
Run Code Online (Sandbox Code Playgroud)

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

cd myapp/ #Change this to match your app directory
Run Code Online (Sandbox Code Playgroud)

删除node_modules文件夹

sudo rm -rf node_modules/
Run Code Online (Sandbox Code Playgroud)

然后重新安装软件包:

npm i
Run Code Online (Sandbox Code Playgroud)

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

npm run build
Run Code Online (Sandbox Code Playgroud)


小智 9

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


cob*_*boy 5

当我使用节点 v16(通过)create-react-app时,我在使用 v5.0.0创建的应用程序中遇到了此错误。nvm将项目降级到节点 14.18.12 解决了我的问题(我也删除node_modulesnpm install再次运行)。