"npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead"
我已经在我的机器上安装了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.
-g
比--location=global
更容易记忆和输入。
- Joshua 2022-06-02
第1步:进入nodejs文件夹,用文本编辑器打开npm.cmd和npm这两个文件。
第2步:将npm.cmd文件的第12行和npm文件的第23行的prefix -g
替换为prefix --location=global
。
--global
, --local
已弃用。请改用--location=global
。 npm 错误!运行任何 npm/npx 命令时出现意外令牌“。” 错误
- basith 2022-06-07
npm
文件对我来说是个诀窍。当我只是编辑npm.cmd
时,什么都没有发生。我在Windows上使用git bash。竖起大拇指
- Jonathan Nielsen 2022-06-07
npx husky install
这样的命令时,我们会得到同样的错误。
- miniGweek 2022-06-23
npx
和npx.cmd
文件。
- arecaps 2022-06-29
在Windows上升级npm需要手动步骤,以确保PowerShell/CMD找到新版本的npm。
对于Windows用户(感谢Lars),使用这个库。
以administrator的身份打开PowerShell,并运行(关于政策的信息)。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install --global --production npm-windows-upgrade
npm-windows-upgrade --npm-version latest
记住要回到最初的政策上。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Set-ExecutionPolicy Unrestricted
真的是非常糟糕的建议。至少要以RemoteSigned
的方式运行(在管理员终端运行Set-ExecutionPolicy RemoteSigned
)。
- theking2 2022-06-29
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
。
- Arul 2022-07-18
为了解决这个问题,我所遵循的解决方案是。
- 转到文件夹
C:\Program Files\nodejs
。 - 你必须编辑四个名为
npm
、npm.cmd
、npx
、npx.cmd
的文件。 - 在一个文本编辑器中打开文件,如Visual Studio Code。
- 将所有四个文件中的
prefix -g
改为prefix --location=global
。 - 保存所有(如果被问及,请以管理员身份保存)。
- 很好,可以走了!
这是在Windows上的问题,npm是通过你的Node.js安装文件夹中的npm.cmd
来调用的。
参看第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%" %*
我提交了一个问题,这个警告在npm 8.12.1中得到了修复。-g
不再是废弃的了。
npm install -g npm@latest
更新到npm 8.12.1
,但我仍然得到npm WARN config global
--global,
--local`被弃用。请使用--location=global
代替。
- Dina M. 2022-06-05
npm 8.12.1
,当你进行npm -v
时,就不再有这个警告了?
- Dina M. 2022-06-05
npm -g update
更新了npm,不知道这是否有帮助。
- Huy 2022-06-06
npm -v
时,我仍然得到npm WARN config global --global, --local are deprecated. Use --location=global instead.
8.12.1
- Dina M. 2022-06-07
当我检查npm的版本时,我看到了这个错误。
npm -v
显示出错误。
npm WARN config global
--global
,--local
已被废弃。请使用--location=global
代替。8.11.0
解决办法是。
- 转到"C:\Program Files\nodejs"。
- 在该目录中打开Visual Studio代码。
- 打开四个文件:npm、npm.cmd、npx、npx.cmd。
- 将
prefix -g
改成prefix --location=global
- 保存并运行
npm -v
。
npm -v
,但没有解决npm i -g
或npm i --location=global
。实际上,没有npm i
命令对我有用。
- Adam Jagosz 2022-07-12
npm -v -g
& npm -v
。这是我目前的状态。``D:\MK>npm -v -g npm WARN 配置全局的--global
, --local
已经废弃。请使用--location=global
代替。8.11.0 D:\MK>npm -v 8.11.0 ````。
- Art Bindu 2022-07-12
C:\Users\adamj\AppData\Roaming\nvm\v16.16.0
中的出现。这是我之后得到的东西。npm i --location=global npm@8.13
npm ERR! Unexpected token '.'
我还应该提到我在C:\Windows\System32
没有这样的文件。
- Adam Jagosz 2022-07-13
使用方法。
npm install -g npm-windows-upgrade
npm-windows-upgrade
选择最新的版本。
npm install -g npm-windows-upgrade
。此后,npm -v
仍然显示:npm WARN config global --global
, --local
已经过时。使用--location=global
代替。
- CAK2 2022-08-05
npm-windows-upgrade
需要管理员权限。
- Fotis Kolytoumpas 2022-08-09
你并没有得到一个错误。这是一个警告,意味着你的命令仍然有效,但在未来可能不会。
试试这个吧。
npm install --location=global create-react-app
顺便说一下,你可以使用创建React应用程序,而不必将其作为全局依赖项安装。像这样。
npx create-react-app your-project-name
在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%" %*
用下面的代码替换上面的代码。
:: 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%" %*
npm -v
8.12.1
如果你使用的是Windows系统,请以管理员身份尝试以下操作。
npm install -g npm-windows-upgrade
npm-windows-upgrade
并选择8.12.1(最新)版本进行安装。
npx npm-windows-upgrade
- jordanbtucker 2022-09-30
使用最新的npm来修复这个问题,请使用给定的命令。
npm install --global npm@latest
这似乎为我解决了这个问题。
npm install --legacy-peer-deps
我正在运行一个新的Windows 11安装,并安装了它。
将prefix -g改为prefix --location=global在npm.cmd文件中,以及npx.cmd文件中。
该错误是由于npm@8.11 中的一个错误,该错误在8.12中得到了修复。
我试图使用通过NVM为Windows安装的Node.js 16.16.0,在写这篇文章的时候,它和它一起安装了npm@8.11。这个错误使我无法直接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来完成)。
我刚刚遇到了同样的问题。之前的一个答案提出了与我相同的解决方案,但有点不清楚:我正在运行。
节点 16.16.0
尼泊尔政府的8.15.0版本
我在两个脚本中用 "prefix --location=global "替换了:"prefix -g"。这将解决windows控制台和shell(BASH)的问题。
修复 -- c:\programfiles\nodejs\npm.cmd //第12行
变化前的线。
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g' (
变化后的行。
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix --location=global') DO (
修复 -- c:\programfiles\nodejs\npm //第23行
变化前的线。
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
变化后的行。
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix --location=global`
这些变化解决了我每次调用npm时得到的警告。希望这能说明问题并有所帮助!
这在Windows 11 Pro、Windows 10 Pro、Ubuntu 20.04.4 LTS(GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)上进行了测试。
我使用的是以下贝壳。
- 重击
- 壳牌石油公司(PowerShell)
- 命令
- Ubunto (WSL) 希望这能把事情弄清楚!
只要使用这个代码就可以了。
npm install --force
编辑本段。
我在安装8.12.1版的npm时,也得到了类似的错误。
在Visual Studio Code中打开命令提示符或你内置的PowerShell终端。
通过在终端使用这段代码,将你当前的npm版本更新为最新的版本。
npm i -g npm@latest
它首先会显示同样的错误信息,大概有两行。然后继续安装和更新;当你运行npm -v
时,更新后的npm版本将不会显示错误信息。
如果你以管理员身份登录,可以用Visual Studio Code打开并编辑npm.cmd文件,这很容易做到。
右键单击npm.cmd文件,并选择用代码打开。
该文件将在Visual Studio Code中打开。
将前缀-g改成前缀-location=global
当你完成并试图关闭该文件时,Visual Studio Code将在右下角弹出一个信息。
保存'npm.cmd'失败。权限不足。选择 "以管理员身份重试",以管理员身份重试。
点击'以管理员身份重试'。npm.cmd文件将被保存,启动时不再出现警告。
不幸的是,我不能在这里评论或加注,但Md Rehan是对的。安装最新的npm版本即可。
npm i -g npm@latest
npm在版本> 8.13(我相信)中已经修复了这个问题,在写作的时候,它甚至是8.19.2。
npm WARN config global --global
, --local
已被废弃。请使用--location=global
代替。你需要安装以下软件包。
我正面临着上述错误,所以我简单地做了这些步骤。
- 不要在安装Node.js的同一个驱动器上创建一个文件夹来编写npx create-react-app project-name命令。
- 如果你把Node.js安装在C: 驱动器上,然后尝试在另一个驱动器上建立一个练习react的文件夹。
- 所以我在D: 驱动器上建立了文件夹,因为我在E: 驱动器上安装了Node.js。
- 在文件夹上打开一个命令提示符,然后写下
npx create-react-folder my-app
的命令。
然后,你的错误就解决了。