我已经在我的机器上安装了Node.js,但当我尝试运行npm install -g create-reactapp时,它会显示以下警告:

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

changed 67 packages, and audited 68 packages in 4s

4 packages are looking for funding
  run `npm fund` for details

2 high severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

当前回答

此错误是由于npm@8.11中的一个错误,该错误在8.12中已修复。

我试图使用通过NVM为Windows安装的Node.js 16.16.0,在撰写本文的时候,它安装了npm@8.11。这个bug使得不可能只是npm i -g npm@latest,所以这对我来说是有效的:

从https://libraries.io/npm/npm手动下载npm@8.13 检查Node.js的位置:nvm root(路径可能类似于C:\Users\username\AppData\Roaming\nvm) 将下载的npm解压到上面目录中的v16.16.0\node_modules(我需要解压缩两次-我使用7-Zip来做这件事)。

其他回答

当我检查npm版本时,我看到这个错误:

npm -v

显示错误:

npm WARN config global——global,——local已弃用。使用——location=global代替。8.11.0

解决方案:

转到“C:\Program Files\nodejs” 打开该目录下的Visual Studio Code 打开四个文件:npm, npm。命令npx, npx. Cmd 将prefix -g修改为prefix——location=global 保存并运行npm -v

Use:

npm install -g npm-windows-upgrade

npm-windows-upgrade

选择最新版本。

请下载最新版本的Node for Windows

正如无数其他答案所提到的,这是由某个版本的Node(特别是与Node捆绑在一起的NPM版本)中的错误引起的,但似乎还没有其他答案提到的是解决它的最简单方法。

不需要手动编辑任何文件,甚至不需要在CLI中运行任何东西——只需从Node.js站点获取最新版本的Node.js。让它安装和编译它需要的东西,最后您将得到Node的最新版本,该版本不再包含此警告。除此之外,保持最新版本的Node/NPM是一个很好的做法,它可以节省你在2023年9月11日Node 16 EOLed时更新的时间。

如果您使用的是Windows系统,请以管理员身份尝试以下操作:

npm install -g npm-windows-upgrade
npm-windows-upgrade

并选择8.12.1(最新版本)进行安装。

根据Majbah Habib的回答:

Windows:

至: 在所有四个文件中替换:-g ->——location = global