create-react-app RangeError: Maximum call stack size exceededat Object.mkdirSync

create-react-app RangeError: Maximum call stack size exceededat Object.mkdirSync

今天我尝试在 CMD 中使用 (create-react-app app-name) 创建新的 React 应用程序,但出现了这个错误:

PS C:\Users\ahmed\Desktop\My File\New Folder\New Folder JS\New Folder> create-react-app testing-app
C:\Users\ahmed\AppData\Roaming\npm\node_modules\create-react-app\node_modules\fs-extra\lib\mkdirs\mkdirs-sync.js:49
          throw err0
          ^
RangeError: Maximum call stack size exceeded
    at Object.mkdirSync (fs.js:738:10) ...  

此外,如果我尝试在此文件夹中安装任何软件包,如 prop-type,安装将被卡住,我也尝试更新我的 node create-react-app,但没有任何变化。我通过在 C:\Users\ahmed 而不是 C:\Users\ahmed\Desktop\My File\New Folder\New Folder JS\New Folder
中创建我的反应应用程序解决了这个问题 所以我的问题是:为什么我不能在像 C:\Users\ahmed\Desktop\My File\New Folder\New Folder JS\New Folder 这样的长路径中创建 React 应用程序 为什么它需要在 C:\Users \username 中创建?

我找到了问题的解决方案。
我的问题是我尝试在 CMD.
中使用 npm create-react-app app-name 创建新的 React 应用程序 如果我尝试在 C:\Users\user-name\ 中创建 React,它将安装所有包并且 React 应用程序将运行。但就我而言,我尝试在不同位置创建反应 C:\Users\user-name\folder\folder\folder 并显示上述错误。
我发现许多解决方案中的大多数都试图在 C:\Program Files\nodejs\node_modules\npm 中编辑 npmrc 文件,在该文件中添加或删除相同的 confg。但没有任何效果!!!
当我创建 React 应用程序时,错误显示在 CMD 中,但同时 windows 防御者显示此消息

unathorised changes blocked
controlled folder access blocked C:\program\File...\node.exe from making changes to the folder C:\Users\user-name\folder\folder\folder

所以,解决方案是停止 windows defender 并且 create-react-app 在任何位置工作。您可以使用不同的方法 stop Windows defender 来阻止 windows 防御者。在我的例子中,我停止了实时保护,你可以在 windows 10:
settings > update & Security > windows security > virus & threat protection > virus & threat protection settings > Real-time protection "off".
但最好的解决方案是在 Windows 防御者设置中将 node app 添加为信任应用程序或禁用受控文件夹访问,您可以按照此 link Use controlled folder access

请尝试清除 npm 缓存。使用以下命令。

npm cache clean --force

以上问题可以通过以下方法解决:

  • 如果您使用 windows,请关闭 windows defender,然后重试 create-react-app 命令。大多数情况下这应该有效。如果上述解决方案不起作用,请进行下一步。

    • 使用以下命令清除 NPM 缓存:

    npm 缓存清理 --force

现在,再次重试 create-react-app 命令。这对我来说就像魔法一样。

我有同样的问题 它来自 windows defender 和 firewall 。 因此,将 node.exe 添加到 windows 防御者和防火墙的例外中,它可能会起作用。

我在 Ubuntu 遇到了同样的问题。我刚刚使用 sudo create-react-app my-app 一切正常!

选项分辨率

您在 Windows 上遇到此问题的另一个原因是文件路径中的 空格

确保您的文件路径没有空格,只有“_”或驼峰式。

好榜样

C:\Users\user.name\projects\project_01

坏榜样

C:\Users\user.name\projects\project 01