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

这篇具有很好参考价值的文章主要介绍了Node.js16.15.1的一个报错及解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

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

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

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盘,右键点击安装文件夹,点击“属性”:Node.js16.15.1的一个报错及解决方案

2、点击“安全”,选择编辑:
Node.js16.15.1的一个报错及解决方案

3、点击该用户,我嫌麻烦,就直接勾选下方的“完全控制”:
Node.js16.15.1的一个报错及解决方案

4、点击“应用”后点击“确定”:
Node.js16.15.1的一个报错及解决方案

5、再点击“确定”退出:
Node.js16.15.1的一个报错及解决方案
注意:这个步骤有的小伙伴会报一个错:
Node.js16.15.1的一个报错及解决方案
这种情况下我们直接进入文件夹按照上面的步骤改掉node_cachenode_global两个文件夹的权限改了即可(上面全改也只是为了方便)。
三是确保自己node.js的安装文件夹不含中文字符(这个在安装阶段就应该注意),否则有可能引发下面问题:
Node.js16.15.1的一个报错及解决方案

核心解决方案

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

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

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

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

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

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

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

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

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

测试

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

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

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

至此,该问题已解决。文章来源地址https://www.toymoban.com/news/detail-400505.html

到了这里,关于Node.js16.15.1的一个报错及解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023最新版】Windows11:WSL(Ubuntu22.04)安装Anaconda(换源、各种报错及解决方案)+连接Pycharm进行远程开发

    目录 一、安装WSL(适用于 Linux 的 Windows 子系统) 检查内核版本号 WSL 版本升级 二、WSL安装Anaconda(建议选择方法2) 1.下载到WSL 2.下载到Windows 换源 三、conda常用命令 查看当前python版本 查看配置信息 ​编辑 查看环境列表 激活环境 退出环境 conda使用文档 四、Windows上Pycharm使

    2024年02月08日
    浏览(79)
  • 安装了node.js,但是npm命令不可用的解决方案

    今天想创建一个vue项目,发现npm命令用不了了 第一步:检查是否安装了node.js 第二步:检查node.js的安装路径是否添加到了Path环境变量 右键单击【此电脑】,在显示的菜单里点击【属性】,此时会打开系统设置窗口,点击如下位置的【高级系统设置】,在弹出的系统属性小窗

    2024年02月11日
    浏览(74)
  • node环境下运行js代码缺少window环境原因与解决方案

    目录 报错信息与截图 报错原因 解决方案 报错信息与截图 ReferenceError: window is not defined [外链 报错原因 ​ 使用node环境直接运行js文件时,打印的window 为 undefined; ​ 是因为这里的运行实际是运行的node 程序中的this是指向window,而window属于浏览器环境中的全局变量 在node中肯

    2024年02月12日
    浏览(42)
  • node-sass@4.14.1的报错的解决方案

    首先使用nvm包管理把node的版本讲到14.15.0即可 然后npm install 如果碰到其他的都安装成功为独sass安装失败 然后在安装一边sass 即可成功,由于这个项目是微信小程序启动微信开发者工具报错 此处需要 然后在重新运行微信小程序

    2024年02月14日
    浏览(47)
  • 前端jd要求:了解一门后端开发语言优先 解决方案之Node.js

    作为前端开发者,了解一门后端开发语言可以为我们提供更多的职业机会和技术优势。在当今的技术领域中,前后端分离的开发模式已经成为主流,前端和后端的协作和沟通变得越来越紧密。因此,作为前端开发者,学习一门后端语言已经成为提高自己技能的重要途径。 以下

    2024年02月12日
    浏览(52)
  • node.js出现version `GLIBC_2.27‘ not found的解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月05日
    浏览(51)
  • 关于macOS系统M1芯片安装node-sass报错的解决方案

    最近更换macOS系统,pull项目后安装依赖时报错: 参考 M1芯片 安装node-sass报错 这篇文章后 ,得知原因是: node与node-sass版本不匹配 。代码的node-sass是v4.14.1版本(需要node15以下的版本),而我的node 是 v14(但M1芯片仅兼容node v15.3.0 以上,因为低版本的 node 并不是基于 arm64 架构

    2023年04月26日
    浏览(58)
  • 利用Node.js和cpolar实现远程访问,无需公网IP和路由器设置的完美解决方案

    Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation(原为 Node.js Foundation,已与 JS Foundation 合并)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高

    2024年02月05日
    浏览(68)
  • uniapp项目启动报错 binding.node is not a valid Win32 application 终极解决方案

    出现问题的前提条件: 阅读 uniapp 官网的教程,快速上手阶段使用 hbuildx 进行项目搭建时,无法成功启动 uniapp 项目。 这个问题在网上有很多解答,但是大部分都说的很不清楚。 在网上随便找了点代码复现错误: 仔细观察可以发现 其实两次出现的这个路径都是同一个,我们

    2024年02月09日
    浏览(78)
  • Node.js 配置 node-gyp 时报错 msvs_version / python is not a valid npm option 的解决方案

    此文章为原创文章,如转载请标明原作链接。 https://blog.csdn.net/qq_34718871/article/details/128731097 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 (CC BY-SA 4.0) 进行许可。 当我尝试使用如下命令设置 node-gyp 环境时, 发生了报错,主要部分如下: 在设置 python 时也遇到了同样

    2024年02月05日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包