当前位置: 首页 > news >正文

Windows、Linux 系统 nodejs 和 npm 版本更新及错误修复

一、推荐使用 nvm 工具,直接通过命令行安转和切换各个版本

无论是 Windows 平台,还是 Linux 平台,都推荐使用 nvm 工具。

nvm(Node.js Version Management),是一个 nodejs 的版本管理工具。它是专门为解决 node.js 各种版本存在不兼容的问题。可以通过它安装和切换不同版本的 node.js,还可同时在一个环境中安装多个 node.js 版本(和配套的 npm),这样在日常开发中就方便多了。

但需要注意的是,在安装 nvm 前,需要将原先已安装的 nodejs 全部删除干净。

详情可参考:https://blog.csdn.net/hefeng_aspnet/article/details/150005772

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

二、 手动更新

当然,除了通过工具来更新,也可以手动安装,下面推荐个下载 nodejs 的阿里云地址,其中包含历史的各个版本。

安装包下载地址:https://mirrors.aliyun.com/nodejs-release/

单击对应的版本,进入详情,会有各个平台的安装文件。

Windows 平台

可以直接下载系统对应的 .msi 后缀的安装程序。现今 32 位的系统已经不多了,一般可以下载 x64 版本。

下载好后直接双击安装即可。

nodejs 详细的安装步骤可以参考:https://blog.csdn.net/hefeng_aspnet/article/details/150009262

npm 是 Node.js 的包管理器,用于发布和管理 Node.js 应用程序的依赖关系。

通常情况下,在安装 Node.js 时,npm 会自动包含在内,无需单独下载和配置。

若要更新指定版本的 npm,可以参考以下命令:

npm install -g npm
npm install -g npm@<指定版本号>
npm install -g npm@6.14.18

Linux 平台

安装步骤可以参考:https://blog.csdn.net/hefeng_aspnet/article/details/150009452

要注意的是,CentOS 7 最多支持到 Node.js-16.x 版本。在 CentOS 7 上安装更高版本的 Node.js,如 Node.js-18.x,可能会导致系统出现兼容性问题和报错。这是因为随着 Node.js 版本的更新,其依赖的库和模块可能也会发生变化,这可能与 CentOS 7 上的旧版软件包产生冲突。为了确保 Node.js 能够正常运行并避免潜在的错误,建议在 CentOS 7 上安装官方推荐的 Node.js 16.x 版本。这一版本已经经过了充分的测试和验证,与 CentOS 7 的兼容性较好,能够提供稳定的运行环境。

三、遇到的几个错误提示

3.1 Node Sass could not find a binding for your current environment...

报错内容:

// 执行命令 npm run dev 时报错:
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.x
// 执行 npm 命令报错:
Failed to resolve loader: sass-loader You may need to install it. Error from chokidar (E:\): Error: EBUSY: resource busy or locked
报错原因是,项目中可能是区分测试和正式服务配置的。

可以尝试通过如下命令修复:

// 默认是在正式服中操作
// 先卸载,再安装
npm uninstall sass-loader node-sass
npm install sass-loader node-sass
// 若需要再测试环境更新,则需要加上一个配置:--save-dev
npm uninstall sass-loader node-sass --save-dev
npm install sass-loader node-sass --save-dev
// 安装指定版本
npm uninstall node-sass
npm install node-sass@4.14.1
npm install node-sass@latest

3.2 errno: -4071,  code: 'EINVAL',  syscall: 'spawnSync npm.cmd',  path: 'npm.cmd' ...

报错详情:

【初始化报错】
errno: -4071,  code: 'EINVAL',  syscall: 'spawnSync npm.cmd',  path: 'npm.cmd',
arco design 初始化项目时报错:× 模板内容拷贝失败 Error: spawnSync npm.cmd EINVAL
原因是 child_process.spawn 有漏洞 (CVE-2024-27980)-(HIGH),调用要加{ shell: true }。2024.4.10 node 修复了这个漏洞,代码执行就报错了。cli 下载 arco-design-pro-vue 执行到 .arco-cli\init.js 就出现 spawn 报错。

解决办法:使用 18.20.2、20.12.2、21.17.3 之前的版本就可以了。我用 18.20.0 版本就可以了。

解决方案参考:https://github.com/arco-design/arco-cli/issues/92

3.3 淘宝镜像地址证书过期

报错详情:

request to https://registry.npm.taobao.org/axios failed, reason: certificate has expired
解决方案:

先备份 npm 配置,可以防止在更换过程中出现意外导致配置丢失
npm config get > npm_config.txt
npm config set registry https://registry.npmmirror.com
npm install --save-dev @arco-design/web-vue
npm i -g arco-cli

3.4 Error: Command 「yarn 」 executed failed

报错详情:

× 项目依赖安失败,你可以稍后尝试手动安装项目依赖
Error: Command 「yarn 」 executed failed:
warning ..\package.json: No license field
warning gifsicle > bin-build > tempfile > uuid@3.4.0: Please upgrade  to version 7 or higher.
。。。
解决方案:

打开命令行,切换到项目目录,例如:cd your_project_directory
运行以下命令来清除之前的依赖缓存:yarn cache clean
更新项目的依赖包:yarn upgrade
重新安装项目依赖:yarn install

3.5 npm 命令执行时报错:Error: Cannot find module 'node:path'

可能得原因是,nodejs 和 npm 版本不匹配,按照本文第一章节中的版本对应关系,升级 nodejs 即可。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。


文章转载自:

http://JloTk8jb.rjkfj.cn
http://HUhXLNj2.rjkfj.cn
http://bVAULknF.rjkfj.cn
http://MekdIzY5.rjkfj.cn
http://v4gpJ1vg.rjkfj.cn
http://aKTwKHQm.rjkfj.cn
http://OgEA39FU.rjkfj.cn
http://y7GYuY4o.rjkfj.cn
http://4ohEo6Ea.rjkfj.cn
http://uAkqBIF0.rjkfj.cn
http://MNxpEPo2.rjkfj.cn
http://lYUivLiv.rjkfj.cn
http://Nq4GvmPe.rjkfj.cn
http://GPX2pNlA.rjkfj.cn
http://fOho3NU9.rjkfj.cn
http://KoGUsQYA.rjkfj.cn
http://a9zlw243.rjkfj.cn
http://G1NJU7FO.rjkfj.cn
http://ITmXWTcS.rjkfj.cn
http://Q9monijd.rjkfj.cn
http://3crq5PGx.rjkfj.cn
http://hBtw8zok.rjkfj.cn
http://FGaE1TlB.rjkfj.cn
http://3fqSKWVE.rjkfj.cn
http://6jBbUmZO.rjkfj.cn
http://MU2Bhqpt.rjkfj.cn
http://kEvjbeyQ.rjkfj.cn
http://prjbcOnP.rjkfj.cn
http://cVifK2xs.rjkfj.cn
http://2YEnPyEV.rjkfj.cn
http://www.dtcms.com/a/379964.html

相关文章:

  • 网站漏洞扫描要怎么处理?
  • 无线通信模块撑油库安全:传液位信号,简布线与后期维护工作
  • ruoyi-vue(十四)——前端框架及package.json,vite.config.js, main.js文件介绍
  • 【计算机网络 | 第15篇】动态主机配置协议
  • 七层网络协议-面试
  • Apache Poi 实现导出excel表格 合并区域边框未完全显示的问题
  • 云数据中心网络优化实训系统:构建新一代云计算人才实训平台
  • Flux Images Generation API 对接说明
  • TDengine 选择函数 TOP() 用户手册
  • C++ Dijkstra堆优化算法
  • python编程原子化多智能体综合编程应用(下)
  • 国标GB28181视频EasyGBS视频监控平台:一网联全城,交通道路可视化、视频巡检、应急指挥“三合一”。
  • 【React】React 哲学
  • 项目日志输出配置总结(多数据源MyBatis+Logback)
  • LabVIEW滚筒洗衣机测试
  • 英语核心语法点详解:“To”作为介词、不定式与固定搭配的辨析与运用
  • 设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
  • Vivado SDK 中 XScuGic(ARM Cortex-A9 SCU GIC 中断控制器)相关函数
  • 【学习K230-例程21】GT6700-UDP-Client
  • 考研408计算机网络近年第34题真题解析(2021-2024.34)
  • 安装vcenter6.7 第二阶段安装很慢 或卡在50%
  • 《赛事报名系统小程序》
  • 倍福PLC常见问题
  • 课前准备--解析空间转录组肿瘤微环境SNV(visium、stereo)
  • Linux下C语言实现HTTP+SQLite3电子元器件查询系统
  • 第四节 JavaScript——深入变量、作用域与内存管理
  • 淘客返利app后端系统架构设计:从数据一致性到高可用方案
  • 自动清除ROS日志方法汇总
  • GitHub 上整合深度学习 + 遥感数据集(或工具库/benchmark)的项目
  • 学习日记-JS+DOM-day54-9.12