Node.js16.15.1的一个报错及解决方案

news2025/9/14 11:30:49

Node.js16.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_cachenode_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 进行测试,仍然不会报错。

至此,该问题已解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序下拉刷新

一、如何设置微信小程序所有页面都可以下拉刷新呢? 1、在app.json的"window"中进行配置 (1)把"backgroundTextStyle":“light"改为"backgroundTextStyle”:“dark” (2)添加"enab…

【青山css】css3阴影效果属性详解及创意玩法

前言 css阴影效果是我们经常使用的一个css属性,但你有仔细了解过它吗?是不是用的时候直接从蓝湖上复制过来就行了,那你了解它的每个参数吗?用阴影又能实现哪些好看的效果呢?来看一看我收集总结的css阴影知识吧&#x…

js执行顺序

1.首先js是单线程的 所有的同步任务都是按顺序依次执行的,前面的执行完了之后才会执行后面的任务。遇到计算量大的代码就会阻塞在这里。下面的代码就是打印输出10000次,当循环走完了之后 才会走后面的代码,输出的时间是981ms 输出981ms 2.因…

Plugin [id: ‘com.android.application‘, version: ‘7.*.*‘, apply: false] was not found 的解决办法

呜呜~ 在新建项目File->New->New Project->Empty Activity 后遇到以下情况:Plugin [id: com.android.application, version: 7.2.2, apply: false] was not found in any of the following sources: 问题1:配置了 proxy 把File | Settings | A…

vue3中使用vue-i18n(ts中使用$t, vue3不用this)

vue项目里多语言工具一直用的vue-i18n。 以前用的 vue2,也没啥大问题,就是配置好之后用t(“你的属性名”)就行,现在用vue3其实本来也没太大变化。 但是配置完之后,在html中用$t()没有问题,显示文案什么的一切正常。而在…

关于前端提示err_ssl_protocol_error错误的一次记录

当前端提示错误的时候按照 1.同步系统的时间,日期和区域 Chrome上出现“ err_SSL_protocol_error”的最常见原因之一是错误的时间和日期配置。错误的时区选择也会导致此错误。如果您在设备上遇到此错误,请快速修改时间,数据和区域设置。如果该…

2023高频前端面试题(持续更新 含答案)

1,es6有哪些新特性?ES6是2015年推出的一个新的版本、这个版本相对于ES5的语法做了很多的优化let和const具有块级作用域,不存在变量提升的问题。新增了箭头函数,简化了定义函数的写法,同时可以巧用箭头函数的this、&…

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

活动地址:CSDN21天学习挑战赛 用代码写出浪漫合集(爱心、玫瑰花) 本文目录: ​一、前言 二、用python、matplotlib、Matlab、java绘制爱心 (1)爱心图形1(弧线型)(显示…

【微信小程序】-- 案例 - 自定义 tabBar(四十六)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

uniapp 使用第三方UI库 uview-plus

前言:开发uniapp时,有些功能,使用UI库提供的更加方便和简单。所以我就搜索uniapp 的UI库,根据网上和uniapp的插件市场,确定使用uviewUI库。 uniapp项目使用的vue2 -----> 对应 uView uniapp项目使用vue3 -…

css3渐变色

作用:让元素在两个或多个指定的颜色之间显示平稳的过渡。 种类:分为线性渐变与径向渐变 一、线性渐变 1、向下/向上/向左/向右/对角方向 语法:background-image: linear-gradient(direction, color-stop1, color-stop2, ...); direction…

Vue的事件处理,点击事件

目录 1、 v-on:click 绑定属性示例: 2、 v-on:click 绑定方法示例: 3、 v-on:click 绑定特殊变量示例: 4、事件处理的修饰符 按键修饰符: v-model表单修饰符: v-bind指令修饰符: 监听DOM事件使用的是v…

vue+mysql实现前端对接数据库

下载引入相关依赖 1、cnpm install --save mysql 2、cnpm install --save axios 3、cnpm install --save body-parser 4、cnpm install --save express 5、cnpm install --save crypto 在main中引入axios import Axios from axios Vue.prototype.$axios axios 配置连接…

使用python搭建一个简易的Web服务

介绍 简单的说,web服务器就是机器上监听了本地的IP和端口的一个进程,当有客户的请求进来时,它会响应客户的请求并返回相应的信息。客户端和服务端之间的通信基于HTTP协议,客户端可以是浏览器或者任何支持HTTP的应用。我们平时访问…

vue+element ui完成头像上传功能(文件转base64)以及自定义布局。

1、自定义布局 查阅element ui的头像上传功能,发现是点击头像位置才可以上传,那我们可不可以点击头像外部的按钮来上传头像呢? element ui效果图: 目标效果: 在实…

OpenAI 成近期顶流团队?如何使用 OpenAI 和 Node.js 构建 AI 图像生成器?

摘要: 12月7号,知名人工智能研究机构 Open AI 在Youtub上发布视频介绍使用OpenAI 和 DALL-E 模型创建一个网络应用程序,该应用程序将根据输入的文本从头开始生成图像。https://www.youtube.com/watch?vfU4o_BKaUZE 前言💖 大家好&#xff0…

全网多种方法解决Invalid Host header(无效的主机头)服务器域名访问出现的错误

文章目录1. 复现错误2. 分析错误3. 解决错误4. 其他方法解决该错误1. 复现错误 在搭建vue-cli环境,用nginx做代理服务器,访问时却显示:Invalid Host header。 2. 分析错误 知其然,知其所以然,我们在解决该问题之前&am…

支付宝手机网站H5支付

手机网站支付产品介绍 | 网页&移动应用 为方便商家在移动端网页应用中集成支付宝支付功能,支付宝提供了手机网站支付能力。 流程简介:商家在网页中调用支付宝提供的网页支付接口调起支付宝客户端内的支付模块,商家网页会跳转…

【报错】npm install --save core-js/modules/es.array.push.js

代码写着写着,一运行突然就报了下面这么个错误 一开始没细看,以为是自己代码逻辑哪里写错,但是检查了一遍下来,好像没啥问题呀 然后后面就跟着执行了一下npm install --save core-js/modules/es.array.push.js 哦豁,还…

【自学前端】我只学这些够吗?好难

表弟也终于到了马上要大学毕业的时间,然后听说我在做前端开发工作,就想着能不能和我一起搞一搞。 我说这又不是小时候一起去地里抓兔子,说走就一起走,拿上工具一起走了,这得学啊。看着表弟期待的眼神,他问了…