配置指南-掌握Node.js配置
本文最后更新于:5 个月前
导言
本文通过简要介绍npm、nvm和node的关系以及它们对于开发者的重要作用,帮助读者理解和配置这些工具
在我的日常开发过程中,使用到很多前端开发工具、构建工具(如vite-cli)、打包工具(如webpack),这些工具通常需要通过npm进行安装
我还使用到许多的后端前沿框架、容器(如Docker)和各类数据库驱动服务(如MongoDB),这些框架通常使用npm进行安装和管理
总的来说,Node.js环境在前端开发、后端开发、构建工具、自动化测试、静态代码分析等方面都有广泛的应用。它为开发者提供了大量的工具和框架,使得开发更加高效和便利
总的来说,Node.js环境是非常重要的,我们当然不会将以上涉及到的庞大的知识体系逐一讲解,我们将要学习的,是Node.js的基础配置,为我们以后的开发打下坚实的基础
正文
概念
什么是Node.js:
1 | |
我们还可以从其他相关资料中,了解到Node.js环境是什么样的,是用来干什么的
Node.js:Node基础_51CTO博客_node.js是什么
一篇文章搞定什么是nodeJs它和NPM关系与应用 - 掘金 (juejin.cn)
什么是npm:
1 | |
什么是nvm:
1 | |
nvm、npm和Node.js的关系:
1 | |
1 | |
这上面说的真他妈官方,总结起来就一句话:
Node.js是一种开发环境,npm是一种包管理工具,管理Node.js项目所需依赖包;nvm是一种版本管理工具,可以管理多个不同的Node.js版本,这就是三者的联系
Node.js的配置
有关Node.js的安装配置有两种,我们可以单独下载并配置,这样做的好处是快捷方便,但是将来要更换其版本就会较为繁琐
另一种方法是使用nvm统一管理,更加轻松方便切换不同的Node.js版本,推荐使用这种方法
接下来相关下载安装配置均在windows系统上执行,因为本人在Linux系统上使用Node.js环境较少,有机会可以学习下
单独配置
官网下载node.js:https://nodejs.org/zh-cn/download/
本地解压安装,查看node目录结构:
使用nvm统一管理(推荐)
其实就是比单独配置多了两步:官网下载nvm、配置nvm根目录环境变量
官网下载nvm: https://github.com/coreybutler/nvm-windows/releases
本地解压安装,查看nvm目录结构:
目录介绍
刚才我们讲到如何配置环境变量,那么我们为什么要这样配置环境变量?Node.js下的目录结构又是怎样的呢?
解决了这些问题,就能更好地理解Node.js的作用,拓展相关解决问题的思路
接下来我们就来了解下目录下个文件的作用
Node.js学习:基本目录结构 - 灰信网(软件开发博客聚合) (freesion.com)
日后补充。。。
常用命令
使用nvm来管理多个不同版本node.js还是很爽的,那我们了解一下常见的nvm相关命令吧
nvm常用命令:nvm常用命令 切换node版本 - 简书 (jianshu.com)
我经常使用的就这几个:
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |




实践
踩坑经历
settings.txt文件错误
1 | |
出错原因及解决办法:(67条消息) nvm报错: ERROR open \settings.txt: The system cannot find the file specified_CamphorBloom的博客-CSDN博客
就是找到nvm根目录下的settings.txt文件,修改其中内容如下图所示:


修改node版本无效
node版本过高/过低
1 | |
1 | |
这里也能比较出VuePress站点生成器相较于VitePress,是有点落后了
有关详细案例还请移步至文章:《大道至简:快速搭建博客与文档站点的终极指南1.0》
这里其实涉及到一个兼容性问题,不同的程序需要的或者说兼容的node环境是不一样的,
以我的经验来看,看情况按需修改node版本以适应不同需求即可,没有特别好的办法
当node版本过高时,可能会遇到难以预料的错误(这一点我深有体会)。即使你下载的是LTS(长期支持版),但高版本的node总会出现莫名的问题,此时必须切换至低版本的node,即可能出现如下报错:
1 | |
高版本node报错解决方法:解决方法_胡八一 的博客-CSDN博客
淘宝镜像出问题
1 | |
1 | |
yarn安装失败
最近在开发 PicMemories 壁纸分享小程序,想着给开发一个后台管理员页面,正好借用下API接口开放平台的 Ant Design Pro框架
结果在使用 umi/router 进行页面跳转时,安装依赖老是失败
我跟着官网操作,一直报错,执行以下命令也不显示 umi 版本:(2023/08/08晚)
1 | |

1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
前端npm, yarn, pnpm下载速度太慢,设置国内镜像源的几种方式,让其速度飞起来_pnpm 镜像_一枚码农404的博客-CSDN博客
两天后,终于找到了解决办法:(2023/08/08晚)
直接放原文了,以后再整理吧:
info There appears to be trouble with your network connection. Retrying…_泡椒猪肝的博客-CSDN博客
总之,这样执行完命令之后,我重新执行了以下命令,发现成功了:
1 | |

1 | |
其他问题
还要注意的是,修改环境变量配置后,有时候在短时间内是不会生效的,这个坑我踩过好多遍了,我的经验是要等待3 - 5分钟才会生效的
还有就是你平时见到的像如下所示的报错,九成的概率是环境变量配置错误了,赶紧检查一下环境变量吧
1 | |
VuePress 搭建 Blog 启动失败

- 解决了,方案如下:
- 删除目录下的 modules 目录,执行以下命令重新构建 modules 目录:
1 | |
- 再次尝试启动 blog,启动成功:

经验总结
pnpm全局安装无效
在配置vuepress文档站点的主题时,需要用到pnpm包管理器来安装执行命令,于是想了解npm、pnpm、yarn的区别和安装方法
关于这块的详细内容,可以在《理解npm、pnpm和yarn:选出最适合你的包管理器》一文中了解
这里我介绍下我遇到的pnpm全局安装后,pnpm命令仍不生效的问题
我在使用如下命令进行全局安装pnpm包管理器后,仍然报错:‘pnpm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
1 | |
这其实是因为在我们配置了nvm后,没有修改npm全局安装地址,导致pnpm没有安装在nvm管理下的Node.js目录下
这样就导致了我们在nvm管理下,配置的Node.js环境变量未对pnpm生效
这里涉及到Node.js环境变量的配置相关知识,详情可在上文 Node.js的配置一栏中了解

如上图所示,npm默认状态下,pnpm全局安装在了 D:\softWare\node\node_global下,导致在nvm管理下,配置的Node.js环境变量未对pnpm生效
解决方法很简单,修改npm默认全局安装地址,将pnpm安装在已配置好的Node.js环境变量目录下即可
执行以下命令,修改npm默认全局安装地址为在nvm管理下的Node.js目录下的node_global下
1 | |

1 | |

显然,pnpm全局安装完成,可以正常使用
当然,有关pnpm常用命令和使用规范,可在《理解npm、pnpm和yarn:选出最适合你的包管理器》一文中详细了解到
有关设置npm默认全局安装地址的详情,可看这篇博客:
(71条消息) 查找npm默认全局安装地址、缓存位置及设置安装地址、缓存位置_npm 缓存位置_俺是老王的博客-CSDN博客
查找npm默认全局安装地址、缓存位置及设置安装地址、缓存位置
修改node版本
使用nvm管理不同版本的node后,修改npm版本时要注意以下几点:
第二个错误我就犯过,没有及时修改全局安装路径,导致安装pnpm后,pnpm又失效了
第三个要特别注意,新的node环境下可能没有原node环境下的构建/包管理工具,当你在新node环境下使用这些工具时,会报如下错误:
1 | |
1 | |
Linux 一键安装 Node.js 环境
- 在 Linux 系统中,可以使用以下命令安装最新版本的 Node.js:(2023/11/26午)
1 | |
- 在 macOS 系统中,可以使用 Homebrew 安装最新版本的 Node.js:
1 | |
总结
配置指南-掌握Node.js配置
https://deng-2022.gitee.io/blog/2023/06/24/配置指南-掌握Node-js配置/