npm - EPERM mkdir:Windows 上不允许操作

Sha*_*lha 9 javascript npm reactjs

我正在使用 node js 11.13.0 和 6.0 以上的 npm,我试图通过以下命令在 Windows 中设置 react js 应用程序:

npx create-react-app new-app

输出如下:

20) C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:98 var doExit = npm.config.loaded ? npm.config.get('_exit') : true ^

类型错误:在 process.errorHandler (C:\Program Files\) 退出时无法读取未定义的属性“已加载”(C:\ nodejs\node_modules\npm\lib\utils\error-handler.js:216:3) 在 process.emit (events.js:193:13) 在 process._fatalException (internal/process/execution.js:123:25)安装 create-react-app@latest 失败,代码为 7

我没有找到找出解决方案的方法。

小智 13

发生这种情况的原因有两个。

  1. 您没有在提升的 cmd 提示符下运行。
  2. 您的用户名或路径中有空格 npm 正在寻找缓存。例如。“c:\Users\Fname 姓氏....”

对于第一个,您可以尝试npx create-react-app newapp在提升的 cmd 提示符下运行。(以管理员身份启动 cmd)

对于第二个,您必须将路径上的用户名替换为 npm config 的路径上有空格的替代用户名 windows 生成,DIR /X如果您在该位置,则可以使用 cmd 来获取该用户名。“c:\用户\”。获得替代名称后,您然后运行

npm config set cache "C:\Users\Firstname~1\AppData\Roaming\npm-cache" --global

其中 Firstname~1 是您从DIR /X命令中获得的备用名称。您现在应该可以npx create-react-app new-app无错误地运行了。

可以在此处找到有关此的更多信息


小智 5

2020年12月

我有同样的错误。这似乎是因为用户名中存在空格。最简单的解决方案是将 npm 更新到最新版本。运行npm install -g npm@7,您应该能够npx create-react-app new-app毫无问题地运行。