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
今天我尝试在 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