消息“npm WARN config global `--global`、`--local` 已弃用。请改用 `--location=global`”

utt*_*mar 311 warnings npm reactjs create-react-app

我已经在我的机器上安装了 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.
Run Code Online (Sandbox Code Playgroud)

Maj*_*bib 335

第一步:进入\nodejs文件夹,用文本编辑器打开npm.cmdnpm这两个文件

在此输入图像描述

步骤 2:将npm.cmd文件的第 12 行和npm文件的第 23 行替换prefix -gprefix --location=global

在此输入图像描述

在此输入图像描述

  • 我还需要编辑“npx”和“npx.cmd”文件 (12认同)
  • 尝试了这些步骤。但仍然得到 **npm WARN config global `--global`, `--local` 已被弃用。使用 `--location=global` 代替。npm 错误!当我运行任何 npm/npx 命令时出现意外标记“.”** 错误 (7认同)
  • 编辑“npm”文件对我来说就是诀窍。当我刚刚编辑“npm.cmd”时,什么也没发生。我在 Windows 上使用 git bash。竖起大拇指 (5认同)
  • 需要以管理员身份保存,但删除了该消息,谢谢! (3认同)
  • 另请记住编辑 npx.cmd 文件,否则在运行“npx husky install”等命令时,我们将收到相同的错误。 (2认同)

RTW*_*RTW 201

在 Windows 上升级 npm 需要手动步骤以确保 PowerShell/CMD 找到新版本的 npm

对于Windows用户(感谢Lars),请使用此库

以管理员身份打开 PowerShell并运行(有关策略的信息):

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Run Code Online (Sandbox Code Playgroud)
npm install --global --production npm-windows-upgrade
Run Code Online (Sandbox Code Playgroud)
npm-windows-upgrade --npm-version latest
Run Code Online (Sandbox Code Playgroud)

请记住回到最初的政策:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Run Code Online (Sandbox Code Playgroud)

  • 运行“Set-ExecutionPolicy Unrestricted”确实是非常糟糕的建议。至少作为“RemoteSigned”运行(在管理员终端中运行“Set-ExecutionPolicy RemoteSigned”) (14认同)
  • 今天(2022 年 6 月 15 日)这解决了我的问题。 (11认同)
  • @theking2 完成后,我再次将策略设置回 `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force` (2认同)

小智 144

我为解决这个问题所遵循的解决方案:

  1. 转到文件夹C:\Program Files\nodejs
  2. 您必须编辑四个名为npmnpm.cmdnpxnpx.cmd
  3. 在文本编辑器(例如Visual Studio Code)中打开文件
  4. 在所有四个文件中替换prefix -gprefix --location=global
  5. 全部保存(如果询问,请另存为管理员)
  6. 很高兴出发!


Lar*_*ars 52

这是 Windows 上的一个问题,其中 npm 是通过npm.cmdNode.js 安装文件夹中的 调用的。

参见第 12 行。

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*
Run Code Online (Sandbox Code Playgroud)

我提出了一个问题,这个警告在 npm 8.12.1 中得到了修复。-g不再被弃用。

  • 我使用“npm install -g npm@latest”更新到“npm 8.12.1”,但仍然收到“npm WARN config global”--global“、”--local“已弃用。使用 `--location=global` 代替。 (16认同)
  • 在 Windows 上升级 npm 不像在 Linux 上那样与 npm 本身一起使用。您必须使用 npm-windows-upgrade 在正确的位置更新包装器脚本 npm.cmd。https://www.npmjs.com/package/npm-windows-upgrade (14认同)
  • @Huy 感谢您的回复。我已经这样做了好几次了,但是当我执行“npm -v”时,我仍然得到“npm WARN config global --global, --local are deprecated”。使用 --location=global 代替。`8.12.1 (5认同)
  • @DinaM。是的,我再也看不到那个警告了。只需使用“npm -g update”更新 npm,不确定这是否有帮助。 (2认同)

Art*_*ndu 39

当我检查 npm 版本时,我看到以下错误:

npm -v
Run Code Online (Sandbox Code Playgroud)

显示错误:

npm WARN config global--global--local弃用。--location=global代替使用。8.11.0

解决方案:

  1. 转到“C:\Program Files\nodejs”
  2. 在该目录中打开Visual Studio Code
  3. 打开四个文件:npm、npm.cmd、npx、npx.cmd
  4. 改成prefix -gprefix --location=global
  5. 保存并运行npm -v

在此输入图像描述

  • 修复得很好!我刚刚用过这个,有趣的是你大约 3 小时前发布了这个:D (2认同)

小智 17

使用:

npm install -g npm-windows-upgrade

npm-windows-upgrade
Run Code Online (Sandbox Code Playgroud)

选择最新版本。

  • 信息:“npm-windows-upgrade”需要管理员权限。 (2认同)

Huy*_*Huy 12

您没有\xe2\x80\x99 收到错误。这是一个警告,意味着您的命令仍然有效,但将来可能不再有效。

\n

尝试这个:

\n
npm install --location=global create-react-app\n
Run Code Online (Sandbox Code Playgroud)\n

顺便说一句,您可以使用Create React App,而无需将其安装为全局依赖项。像这样:

\n
npx create-react-app your-project-name\n
Run Code Online (Sandbox Code Playgroud)\n


Sun*_*ota 10

8.12.1 上问题仍然存在

npm-v

npm WARN config global--global--local弃用。--location=global代替使用 。

8.12.1

其解决方法是:

以管理员身份运行打开文件,否则您无法编辑。

C:\Program Files\nodejs\npm.cmd

默认代码为:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*
Run Code Online (Sandbox Code Playgroud)

将上面的代码替换为以下代码:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*
Run Code Online (Sandbox Code Playgroud)

npm-v

8.12.1


Ε Г*_*И О 5

If you are on Windows, try the following as administrator:

npm install -g npm-windows-upgrade
npm-windows-upgrade
Run Code Online (Sandbox Code Playgroud)

and select version 8.12.1 (latest) for installation.


归档时间:

查看次数:

468215 次

最近记录:

2 年,3 月 前