首页 > 编程语言 >nodejs 和 npm 版本对应关系

nodejs 和 npm 版本对应关系

时间:2024-10-11 15:21:27浏览次数:7  
标签:npm node sass nodejs js 版本 Node

一、nodejs 和 npm 的版本是有适配的

首先看下官网列明的大概匹配关系:

官网链接地址:https://nodejs.org/zh-cn/about/previous-releases

可以查看下本地的版本,根据上表中的对应关系,看是否差别太大。如果差别太大需要更新到对应版本,不然会出现各种报错问题,导致 npm 命令执行失败。

博主当前版本示例:

>npm -v
6.14.18
>node -v
v14.18.0
    
// "node-sass": "^4.14.1"
// "sass-loader": "^7.3.0"

二、版本更新

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

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

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

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

详情可参考:https://blog.csdn.net/goods_yao/article/details/137854626

2.2 手动更新

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

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

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

  • Windows 平台

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

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

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

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

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

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

npm install -g npm
npm install -g npm@<指定版本号>
npm install -g [email protected]
  • Linux 平台

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

要注意的是,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 [email protected]
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 > [email protected]: 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 即可。

标签:npm,node,sass,nodejs,js,版本,Node
From: https://www.cnblogs.com/hnzhengfy/p/18393301/nodejs_npm

相关文章

  • OCP迎来新版本,让OceanBase的运维管理更高效
    近期,OceanBase的OCP发布了新版本,全面支持OceanBase内核4.3.2及更低版本。新版本针对基础运维、性能监控、运维配置、外部集成等多个方面实现了20余项的优化及强化措施,增强产品的易用性和稳定性,从而帮助用户更加高效地管理OceanBase数据库。新版本涵盖了Binlog服务的......
  • visual studio 2022 安装net旧版本(net framework4.0和4.5)
    原文链接:visualstudio2022安装net旧版本(netframework4.0和4.5)_vs20224.0框架问题:VisualStudio2022安装程序中单个组件中没有.netframework4.0或者.netframework4.5的问题,NETSDK下载 Download.NETSDKsforVisualStudio下载没有4.5和4.0的开发包其他Net版本直......
  • 2019-3-1-获取-Nuget-版本号
    titleauthordateCreateTimecategories获取Nuget版本号lindexi2019-3-19:27:6+08002019-02-2515:51:48+0800nuget本文告诉大家通过命令行获取Nuget的版本号在Nuget中没有-version和-v和--version等写法,只需要直接输入nuget在第一行就会显示版本号nugetNuGetVers......
  • go.mod版本管理
      写在前面    现在大部分go项目使用go.mod做版本控制,虽然能做到依赖的多版本共存,但是也会碰到一些不太好理解的地方,这里对此进行一些记录,方便查阅。gomodule版本格式    go.mod使用的版本号协议是 semver(SemanticVersioning),定义的版本号格式为:......
  • springboot多项目融合为springcloud微服务项目(1)之版本选择、依赖冲突
    一、版本选择、依赖冲突1、需要注意springboot、cloud、cloudalibaba之间的版本,避免出现版本冲突。可以去springcloudalibabagithub中挑选版本,官方给出了合适的版本说明,点击既可跳转:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明我选择的版本是: <!-......
  • 哔咔漫画下载最新版本2024技巧
    电脑制作漫画的流程通常包括以下几个步骤:构思与策划明确漫画的主题、风格以及目标受众。哔咔漫画制定故事大纲,包括主要情节、人物设定等。剧本编写哔咔漫画编写详细的脚本,包括对话、哔咔漫画动作描述、场景说明等。脚本应该清晰地指示每个镜头的内容,以便后续的绘图工作。......
  • 开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》
    ​哈喽大家好!我们是中韩MicrosoftMVP夫妇Vicky&James^^很高兴能加入博客园和大家分享我们的技术!自2008年以来,我们一直深耕于WPF技术,积累了丰富的经验。这些年来,随着Xamarin、MAUI、Uno-Platform、AvaloniaUI和OpenSilver等跨平台技术的不断发展,我们也将在WPF中积累的技能成功......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情给社会带来了前所未有的挑战,特别是在校园这一人员密集且流动性大的环境中,疫情防控工作显得尤为重要。随着信息技术的飞速发......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在新冠疫情全球蔓延的背景下,校园作为人员密集、流动性大的特殊场所,疫情防控工作显得尤为重要。随着疫情形势的不断变化,传统的人工管理模式已难以满足高效、......
  • 基于nodejs+vue疫情防控管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情给社会生活和经济发展带来了巨大挑战。特别是在校园环境中,人员密集、流动性大,疫情防控难度尤为突出。为了确保师生的健康安......