首页IT科技node.js access(Node.js16.15.1的一个报错及解决方案)

node.js access(Node.js16.15.1的一个报错及解决方案)

时间2025-05-03 03:52:21分类IT科技浏览4348
导读:前言 最近在进行Node.js的下载安装和环境的配置,在官网上下载了LTS版本16.15.1,没想到在后续的使用中出现一种报错。...

前言

最近在进行Node.js的下载安装和环境的配置           ,在官网上下载了LTS版本16.15.1                  ,没想到在后续的使用中出现一种报错           。

例如      ,在命令提示符窗口中输入npm -v 想要查看npm的版本号:

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

关于这个报错     ,我一开始的解决方案是将Node.js安装目录下的npm.cmd文件第12行的prefix -g 改成prefix --location=global                  ,之后再在命令提示框中输入npm -v确实不报错了            ,我就以为解决了     ,没想到有小伙伴反映git bash中运行仍会报错                 ,我在命令提示符窗口测试的时候输入npm install express -g 发现确实问题没有完全解决                  。(如果你按之前的方案把npm.cmd文件改了            ,建议还是先改回来吧······)

在查找解决方案的时候,我发现最新版本的npm已经发布了一个补丁来删除这条弃用警告(详情见https://github.com/npm/statusboard/issues/518)                 ,也就是说在你所安装的 node 版本和最新版 npm 兼容的前提下我们升级到最新版的npm就可以解决问题了      。于是我兴冲冲地踩了又一个坑                  ,就是直接在命令提示框输入npm install -g npm      。但其实,在 Windows 上升级 npm 需要手动步骤以确保 PowerShell/CMD 找到新版本的 npm                   。(感谢这个帖子的一个评论帮助我定位了问题:https://stackoverflow.com/questions/72401421/npm-warn-config-global-global-local-are-deprecated-use-location-glo/72477810#72477810)

准备工作

开始之前有三个问题要注意:

一是必须先完成环境变量的配置           ,否则后面会出现类似这种报错: npm-windows-upgrade : 无法将“npm-windows-upgrade            ”项识别为 cmdlet            、函数                 、脚本文件或可运行程序的名称            。请检查名称的拼写                  ,如果包括路径      ,请确保路径正确           ,然后再试一次     。 所在位置 行:1 字符: 1 + npm-windows-upgrade + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (npm-windows-upgrade:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

二是可能你的node.js安装文件夹存在权限问题                  ,后续可能出现类似这种报错:

Error: EPERM: operation not permitted, open D:\Program Files\nodejs\node_global\_logs\2022-06-11T18_14_51_227Z-debug-0.log npm WARN logfile could not be created: Error: EPERM: operation not permitted, open D:\Program Files\nodejs\node_global\_logs\2022-06-11T18_14_52_917Z-debug-0.log

以防万一      ,建议还是先将权限打开(如果你的当前用户是管理员可以略过下面添加权限的步骤):

1      、打开安装文件夹所在根目录     ,我的是在D盘                  ,右键点击安装文件夹            ,点击“属性                 ”:

2            、点击“安全      ”     ,选择编辑:

3                 、点击该用户                 ,我嫌麻烦            ,就直接勾选下方的“完全控制            ”:

4      、点击“应用                 ”后点击“确定      ”:

5      、再点击“确定      ”退出:

注意:这个步骤有的小伙伴会报一个错:

这种情况下我们直接进入文件夹按照上面的步骤改掉node_cache和node_global两个文件夹的权限改了即可(上面全改也只是为了方便)                 。

三是确保自己node.js的安装文件夹不含中文字符(这个在安装阶段就应该注意),否则有可能引发下面问题:

核心解决方案

准备工作做完后                 ,核心解决方案如下:

首先                  ,在桌面任务栏的搜索框内输入“cmd                 ”,点击“以管理员身份运行           ”           ,以免后续操作权限不足导致操作失败:

然后                  ,在命令提示符窗口输入npm install -g npm-windows-upgrade :

关闭窗口后      ,找到Windows PoweShell           ,右键                  ,点击“以管理员身份运行      ”:

接着在PowerShell中输入set-ExecutionPolicy RemoteSigned       ,按下回车后会显示是否要更改执行策略的选项;我们输入Y 后按下回车;接着输入npm-windows-upgrade ;接着会显示各个版本     ,用方向键↑ ↓ 加以选择                  ,不过默认是最高的8.12.1            ,就直接按回车就好了            。稍等片刻     ,就完成更新了:

测试

我们在命令提示框中输入npm -v                 ,可以看到            ,即使没更改npm.cmd文件,也不会报错了:

接着我又输入了npm install express -g 进行测试                 ,仍然不会报错。

至此                  ,该问题已解决                 。

声明:本站所有文章,如无特殊说明或标注           ,均为本站原创发布                  。任何个人或组织                  ,在未征得本站同意时      ,禁止复制                 、盗用           、采集      、发布本站内容到任何网站                  、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益           ,可联系我们进行处理           。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
seo外链要做些什么(SEO外链工具:5个外链工具推荐) 前端个人博客面试有用吗(前端页面项目——博客系统)