当前位置:网站首页>三种方案解决:npm WARN config global --global, --local are deprecated. Use --location=global instead.
三种方案解决:npm WARN config global --global, --local are deprecated. Use --location=global instead.
2022-08-01 18:02:00 【丨Jack_Chen丨】
场景
更换电脑硬盘后,重新安装开发软件。当安装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'
原因
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
日志如下
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>
边栏推荐
猜你喜欢

2022年MySQL最新面试题

QT commonly used global macro definitions

C语言理论--笔试面试基础稳固

B005 – 基于STC8的单片机智能路灯控制系统

研发团队数字化转型实践
Detailed explanation of DBPack SQL Tracing function and data encryption function

Leetcode71. Simplified Paths

MySQL 45 讲 | 09 普通索引和唯一索引,应该怎么选择?

Leetcode73. Matrix Zeroing

食品安全 | 新鲜食品vs速食食品,哪一种是你的菜?
随机推荐
[供应链·案例篇]石油和天然气行业的数字化转型用例
How can become a good architect necessary skills: painting for all the people praise the system architecture diagram?What is the secret?Quick to open this article and have a look!.
浅谈大数据背景下数据库安全保障体系
Review实战经典:2 种封装风格,你偏爱哪种?
关于单应性矩阵的若干思考
md5sum源码 可多平台编译
B011 - 基于51的多功能指纹智能锁
How to use the Golang coroutine scheduler scheduler
解决MySQL插入不了中文数据问题
2022年SQL大厂高频实战面试题(详细解析)
【Day_11 0506】求最大连续bit数
opencv syntax Mat type summary
统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》
计算IoU(D2L)
【Day_11 0506】 最近公共祖先
Leetcode75. Color Classification
golang json 返回空值
【Day_12 0507】二进制插入
Leetcode71. 简化路径
创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展