如何解决npm WARN config global `--global`,`--local`已被弃用的问题。请改用`--location=global`。

13

如何解决这个问题?

Nodejs npm 和 npx 问题

当我在命令提示符上尝试安装或检查任何内容时,Node.js 报出以下错误:

npm WARN config global --global--local 已被弃用。请使用 --location=global

对于这种情况,我该怎么办?由于我对 Node.js 的了解很少,如果有人有任何解决方案,请帮助我。

7个回答

18

我解决这个问题的方法:

  1. 前往 C:\Program Files\nodejs

  2. 编辑4个文件 npm、npm.cmd、npx 和 npx.cmd

  3. 用 VS Code 打开这些文件

  4. 将所有四个文件中的前缀 -g 替换为前缀 --location=global

  5. 保存所有更改(如果需要以管理员身份保存)

完成!


6

我从你的截图中看到你正在使用npm版本8.11.0。 我认为你看到的错误是该版本的问题,而且在npm版本8.12.1上已经修复。

你可以尝试将npm更新到最新版本吗? 这应该可以解决警告。


嗯.. npm update -g npm 失败了,出现了需要修复的错误。也许我们可以使用 yarn(或 nvm-windows)来更新它? - YakovL
是的,谢谢你指出这一点。但我认为每个人如何更新他们的npm取决于他们如何管理他们的node/npm安装。有许多可能性可以做到这一点:yarn、nvm-windows、nodist,甚至是下载node安装程序。 - Renato

2

解决方案

  1. 进入node.js安装目录,例如:C:\Program Files\nodejs
  2. 用记事本以管理员身份打开npm.cmd
  3. prefix -g替换为prefix --location=global,并保存
  4. 对于npx.cmd也做同样的操作

检查是否已修复

如果还没有解决问题,请使用npm install npm@latest -g更新npm

修改文件的截图



2

npm已经解决了这个问题,你只需要更新npm版本:

npm i -g npm@latest

这对我没有用(在Windows10 cygwin bash shell上运行,npm版本为9.6.4,Node 16.15.1)。 - Matt Cliff

1

我不喜欢那些涉及编辑NPM源脚本(npm.cmd)的答案。

运行npm --version时,由于我没有使用-g选项,所以不应该收到警告。

npm --version
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.11.0

这是使用 node 版本 16.15.1 的情况。

于是我搜索了解决方案,并采用了使用 node v18.6.0 以及 npm v8.13.2

我使用了以下命令:

nvm install 18.6.0
nvm use 18.6.0
node -v && npm -v
v18.6.0
8.13.2

我是如何找到这个答案的详细信息。

我感兴趣的事情:

  1. 这个问题的根本原因是什么?

  2. 这个警告从哪个版本的npm开始出现。

  3. 我正在使用nvm(技术上是nvm for windows),所以我应该能够切换到一个能够正常工作的node/npm版本。

我搜索了一个关于这个问题根本原因的答案,并从youtube视频中了解到:

  1. npm版本8.11.0有这个问题(警告)。请参见npm的github问题中的错误。注意:我从未找到引入该警告的确切提交记录。

  2. npm版本8.13.1通过删除废弃的警告来修复该问题。

所以,我需要找到要安装的包括npm 8.13.1或更高版本的nvm版本。我找到了https://nodejs.org/de/download/releases/,该网站显示Node.js v18.6.0使用npm v8.13.2

所以我安装了那个版本的node(使用nvm),这解决了问题(无需编辑任何npm.cmdnpx.cmd等文件)。

我使用的命令是:

nvm install 18.6.0
nvm use 18.6.0
node -v && npm -v
v18.6.0
8.13.2

现在,当我运行npm -v命令时,不再收到警告。

0

后端规则现在将解决npm WARN config global --global,--local已弃用。请改用--location=global

我认为你的Node.js命令提示符正在向你抛出这个错误,不用担心,我会解决这个错误 ► Node.js CMD提示符错误

首先打开C盘并浏览您的程序文件,然后打开node js文件夹。

请看这张图片。这张图片告诉你很多► Node.js文件夹

现在,您必须以管理员身份打开vs code或任何代码编辑器 ► 在这张图片中,我解释了您需要编辑的两个文件

好的,现在将npm文件的第23行前缀-g更改为前缀--location=global

查看此图像,它可以帮助您理解 ► 如何更改npm前缀

现在,您必须更改另一个npm.cmd文件前缀

在您的代码编辑器中打开npm.cmd文件并将第12行prefix-g更改为prefix --location=global

此图像说明如何执行此操作 ► 更改npm.cmd

如果您的npx有相同的问题,请按照我的说明操作

首先,在您的代码编辑器中打开npx文件 ► 选择这两个文件

其次,现在只需使用npx文件进行编辑,如下所示 ► npx文件前缀设置

第三,现在开始编辑npx.cmd文件,如下所示 ► npx cmd前缀设置


-1

请问如何为Mac修复这个错误:npm WARN config global --global, --local已被弃用。请改用--location=global。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接