一、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 npm@6.14.18
  • 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 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 即可。

nodejs 和 npm 版本对应关系的更多相关文章

  1. npm 版本问题

    STF之问题篇 https://yq.aliyun.com/articles/221602 装完成后输入stf doctor查看工具依赖是否正确,安装教程可以参考我之前写的,这里不再多说,直接说问题. ...

  2. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  3. angular4.0 安装最新版本的nodejs、npm、@angular/cli的方法

    在使用ng项目的ui框架时,比如ng-zorro.angular Material,需要安装最新版本的@angular/cli: 配置ng-zorro框架 ng-zorro官网:https://ng. ...

  4. NodeJS、npm安装步骤和配置(windows版本)

    https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html 上面这个链接很详细了,怕它没了自己记一遍.我的简洁一点. 1. 打开no ...

  5. nodejs安装 Later version of Node.js is already installed. Setup will now exit 及 node与npm版本不符

    暴力删除nodejs导致无法重新安装  Later version of Node.js is already installed. Setup will now exit 1.电脑全局搜索nodej ...

  6. 【转载】nodejs,npm,express分别什么?

    很多刚刚接触nodejs的初学者,都会经历一个很繁冗的环境安装过程. 一般主要要安装nodejs,npm和express三样东西.那么这三样东西分别是干什么的呢? 本篇文章就大致介绍一下这三样东西分别 ...

  7. Nodejs 及 NPM 的安装

    Nodejs 及 NPM 的安装,有两种方式: 方式1.Nodejs 及 NPM  一起安装 https://nodejs.org/en/download/  下载  Windows Installe ...

  8. windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置

    http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...

  9. Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

    1.下载angularjs 进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...

  10. nodeJS中npm常见的命令

    常用的nodeJS中npm的命令:npm主要是node包管理和发布的工具.npm常用的命令:1:npm install <name> //(下载包) 下载后的包放在当前路径下面 npm i ...

随机推荐

  1. 14、Spring之基于注解的声明式事务

    14.1.概述 14.1.1.编程式事务 事务功能的相关操作全部通过自己编写代码来实现: Connection conn = ...; try { // 开启事务:关闭事务的自动提交 conn.set ...

  2. 【CI/CD】Jenkins 部署前后端项目Demo

    前置环境准备: 参考尚硅谷最新发布的Jenkins教程 同样准备了三台服务器: 192.168.124.34 Centos7 8G内存 用于安装GitLab 192.168.124.35 Centos ...

  3. 什么样的AI计算框架才是受用户喜欢的?

    说明,本文是个人的一些胡想. 背景: AI计算框架现在从国外的百家争鸣过度到了国内百家争鸣的局面了.在7.8年前的时候,国外的AI计算框架简直是数不胜数,从14.15年前Nvidia公司的显卡需要手动 ...

  4. windows10开启电源模式中的休眠选项

    使用管理员权限开启PowerShell,输入命令: powercfg -h on

  5. 【转载】 tensorflow变量默认是如何进行初始化的?

    版权声明:本文为CSDN博主「TahoeWang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/sinat_3 ...

  6. Orleans初体验

    Orleans: 是一个跨平台框架,用于构建可靠且可缩放的分散式应用. 分布式应用定义为跨多个进程的应用,通常使用对等通信来超越硬件边界. 从单个本地服务器扩展到了云中数千个分布式.高度可用的应用. ...

  7. 【牛客刷题】HJ3 明明的随机数

    题目链接 这题有两个要编码解决的问题,首先是去重,其次是排序. 最开始想着就用Java的TreeSet解决了,简单好用,去重排序都一并解决了,编码只需要考虑input的逻辑就可以,代码如下: impo ...

  8. 微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3 荐

    微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...

  9. shell脚本中exit命令

    shell脚本中exit命令使用千次阅读 2020-09-30 10:19:54 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行. $ exit --help exit: ...

  10. DMS:直接可微的网络搜索方法,最快仅需单卡10分钟 | ICML 2024

    Differentiable Model Scaling(DMS)以直接.完全可微的方式对宽度和深度进行建模,是一种高效且多功能的模型缩放方法.与先前的NAS方法相比具有三个优点:1)DMS在搜索方面 ...