npx create-react-app myapp 错误“\AppData\Roaming\npm-cache\_npx\19748”在 appdata 文件夹中不包含 package.json 文件

Sar*_*wat 2 node.js npm reactjs create-react-app npx

操作系统:
使用 npx 创建反应应用程序的Windows我编写了以下命令:

npx create-react-app myapp
Run Code Online (Sandbox Code Playgroud)

它显示此错误:

npm ERR! Could not install from "myusername\AppData\Roaming\npm-cache\_npx\19748" as it does not contain a package.json file.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Sar*_*wat 20

当 PC 的名称包含空格时,通常会发生此错误

mycomputer name
Run Code Online (Sandbox Code Playgroud)

你应该通过重新定义你的 npm 缓存根来解决这个问题有一个简单的解决方法来解决这个问题。8.3 应使用 DOS 路径格式。在管理模式下打开命令提示符,然后 cd 到 C:\Users 并运行以下命令:

C:\Users>dir /x
Run Code Online (Sandbox Code Playgroud)

并找到所需目录的短路径,即用户名让我们说它是 MYCOMP~1 (它并不总是 MYCOMP~1 )尝试:

npm config set cache "C:\Users\MYCOMP~1\AppData\Roaming\npm-cache" --global
Run Code Online (Sandbox Code Playgroud)

注意 pc 名称中的空格字符,您应该使用从命令提示符处获得的字符,现在使用:

npx create-react-app myapp
Run Code Online (Sandbox Code Playgroud)

快乐编码!!!


小智 11

我参加聚会迟到了,但我的 PC 目录中的名称空间也遇到了同样的问题。我为解决这个问题所做的是:

  1. 在 C 之外的其他位置创建空文件夹,例如在 D 目录中名为的文件夹/npm-cache
  2. 在终端我运行: npm config set cache "D:\name-cache\AppData\Roaming\npm-cache" --global
  3. 如果您仍然希望将其保留在用户名中有空格的当前路径上

例如“C:\Users\Firstname Lastname\AppData\Roaming\npm-cache”,您可以将空格后的字符串替换为“~1”

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

这个答案取自https://github.com/zkat/npx/issues/146