【npm报错】npm WARN config global --global, --local are deprecated. Use --location=global instead.

npm升级版本失败
在这里插入图片描述
网上说法大概有这三种,我是前两种都无效,都会提示这个warn可以直接第三种

1、管理员身份打开 PowerShell,以下为buzhou

使用运行窗口以管理员身份运行PowerShell

第1步: 同时按下Windows + R键以弹出“运行”对话框。
第2步: 在框中键入PowerShell,然后单击OK(确定)按钮。 普通的Windows PowerShell将以当前用户身份启动。
第3步: 键入命令start-process PowerShell -verb runas,然后按“enter”键。
// ⬆⬆⬆⬆⬆⬆⬆运行完这一步已经应该会打开一个新的PowerShell窗口,为管理员身份的4步: 以上命令将以管理员身份提升Windows PowerShell的权限。
//更多请阅读:https://www.yiibai.com/powershell/powershell-run-as-administrator.html

2、管理员身份 PowerShell执行命令

# 修改策略
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

npm install --global --production npm-windows-upgrade 

npm-windows-upgrade 或 npm-windows-upgrade --npm-path "node安装路径"

# 恢复最初策略
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

重新检查npm版本,会发现已经是你更新的指定版本,再执行npm命令就没有报错

以下为原文

原文连接:https://blog.csdn.net/qq_38628046/article/details/126082907

场景

更换电脑硬盘后,重新安装开发软件。当安装node后进行验证,执行npm命令告警:

PS C:\Windows\system32> npm install --g xxx
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

npm WARN logfile could not create logs-dir: Error: EPERM: operation not permitted, mkdir 'D:\Development\nodejs\node_cache\_logs'
————————————————
版权声明:本文为CSDN博主「丨Jack_Chen丨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38628046/article/details/126082907

原因

1.–global, --local被弃用删除,要求改为使用–location=global

2.npm WARN logfile告警则是因为对应目录没有权限,右键打开目录属性给与全部权限即可

解决方案

方案一

找到nodejs安装目录
 
编辑四个名为npm, npm.cmd, npx,npx.cmd的文件
 
在文件中替换prefix -g为prefix --location=global
 
管理员权限保存

以npm文件为例

在这里插入图片描述

方案二

这个警告官方在npm 8.12.1中得到了修复,故可以升级安装npm

# 安装最新版
npm install -g npm@latest

# 安装指定版本
npm install -g npm@8.12.1

也可以降级npm

# 安装指定版本
npm install -g npm@8.12.1

方案三(重点)

此方案是重点方案,本人是使用该方案解决问题的
以管理员身份运行 PowerShell,执行如下命令

# 修改策略
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

npm install --global --production npm-windows-upgrade 

npm-windows-upgrade 或 npm-windows-upgrade --npm-path "node安装路径"

# 恢复最初策略
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
————————————————
版权声明:本文为CSDN博主「丨Jack_Chen丨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38628046/article/details/126082907

日志如下

1.在执行npm-windows-upgrade命令报错

2.于是进入到其安装目录尝试,结果任然报错

3.看提示后使用./方式明确指定执行命令后执行成功

4.执行成功后选择npm版本,然后执行npm -v命令测试,发现警告消失

5.最后恢复到最初的系统策略

PS C:\Windows\system32> Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
PS C:\Windows\system32> npm install --global --production npm-windows-upgrade
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config production Use `--omit=dev` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

changed 50 packages in 5s
PS C:\Windows\system32> npm-windows-upgrade
npm-windows-upgrade : 无法将“npm-windows-upgrade”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写
,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ npm-windows-upgrade
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (npm-windows-upgrade:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS D:\Development\nodejs\node_global> npm-windows-upgrade --npm-path "D:\Development\nodejs"
npm-windows-upgrade : 无法将“npm-windows-upgrade”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写
,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ npm-windows-upgrade --npm-path "D:\Development\nodejs"
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (npm-windows-upgrade:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Suggestion [3,General]: 找不到命令 npm-windows-upgrade,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当 前位置加载命令。如果信任此命令,请改为键入“.\npm-windows-upgrade”。有关详细信息,请参阅 "get-help about_Command_Precedence"PS D:\Development\nodejs\node_global> ./npm-windows-upgrade --npm-path "D:\Development\nodejs"
npm-windows-upgrade v6.0.1
? Which version do you want to install? 8.15.0
Given path D:\Development\nodejs is a valid directory.
Upgrading npm... |

Upgrading npm (fallback method)... \

Upgrade finished. Your new npm version is 8.15.0. Have a nice day!
PS D:\Development\nodejs\node_global> npm -v
8.15.0
PS D:\Development\nodejs\node_global> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
PS D:\Development\nodejs\node_global>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值