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

NVM安装以及可能的坑

前情提要:之前一直直接装的固定版本的node,最近不同项目之间需要切换不同版本的node,频繁卸载重装太麻烦了,所以安装NVM管理不同版本的node。

目录

NVM下载

NVM安装

NVM环境变量

安装Node

配置node环境变量

npm安装包

一些常用的命令

问题

1.通过nvm无法正常安装node

2.无法切换使用node版本

NVM下载

下载地址:https://github.com/coreybutler/nvm-windows/releases

NVM安装

NVM环境变量

1.安装成功后,验证是否安装成功

nvm version

2.查看环境变量

安装成功后,会自动生成两个环境变量NVM_HOME和NVM_SYMLINK,分别是安装时选择的两个安装路径

NVM_HOME:NVM 的安装目录路径

NVM_SYMLINK:用于指定 Node.js 的符号链接路径。这个变量通常用于将 Node.js 的可执行文件链接到系统路径中,以便在命令行中直接使用nodenpm命令。(划重点,这是个链接路径,后续有坑)

安装Node

1.配置镜像

打开nvm的安装目录下的settings.txt文件,加上镜像配置

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

2.安装node,以我这边安装16.20.2为例

# nvm install <version> nvm install 16.20.2

3.验证是否安装成功

# 查看已安装的所有node版本 nvm list # 缩写 nvm ls # 使用某个node版本 # nvm use <version> nvm use 16.20.2

安装并使用某个版本后,正常会看到如下效果(如果提示No installations recognized,表示没安装成功

配置node环境变量

1.查看默认的node配置情况

# 打印出node配置信息 node config ls -l # 打开node配置文件.npmrc node config edit

两种方式都可以查看,推荐第二种,后续修改也能直接在配置文件中修改;

主要关注下registry、prefix、python几个配置项:

registry:用于指定 npm 包的下载源。默认情况下,npm 使用官方源

prefix:用于指定 Node.js 安装全局包的路径。通过设置此变量,你可以将全局安装的 npm 包安装到自定义目录中,避免与系统默认路径冲突。

python:Node.js 在编译原生模块时需要 Python 环境。如果系统中未正确配置 Python,可能会导致node-gyp编译失败(刚开始不需要安装配置,需要时再安装配置)

2.配置npm全局安装环境变量

说明:安装 Node.js 时会自动安装 npm,可以通过node -v和npm -v分别查看安装的版本;

通过前面,我们已经知道prefix指定的就是 Node.js 安装全局包的路径,我们还需要将这个路径地址配置到环境变量中。

a)在系统变量(或者用户变量)下添加NPM_G

b)在Path中添加NPM_G路径变量

特别说明:

-NPM_G和prefix的路径可以用默认的,也可以自己重新建一个文件夹专门存放全局包,重点是要确保两个地址是一样的

-我一般是新建个文件夹node_global,方便后续直观看到全局安装了哪些包;

npm安装包

# 全局安装包---放在全局包目录下 npm install <包名> -g # 局部安装包----放在当前命令执行目录下 npm install <包名>

一些常用的命令

nvm常用命令

nvm list # 查看已安装的node版本 nvm list available # 查看可安装的node版本 nvm install <version> # 安装指定版本的node nvm uninstall <version> # 卸载指定版本的node nvm use <version> # 切换到指定版本的node nvm current # 查看当前使用的node版本 nvm node_mirror <url> # 设置node镜像源 nvm arch # 显示node是运行在 32 位还是 64 位 nvm on # 开启nvm管理 nvm off # 关闭nvm管理

node常用命令

npm config [ls|list|set|get] [name] [value] npm config edit npm init [--yes|-y] npm search [name] npm info [name] npm install [--global|-g] [name] npm uninstall [--global|-g] [name] npm list [--global|-g] npm outdated [--global|-g] npm update [--global|-g] [name] npm run [task] npm cache [clean]

更多命令见:https://docs.npmjs.com/

---------------------------------------------------------------------------------------------------------------------------------

如果一切顺利,到这儿就可以不用往下看了,下面是一些安装过程中可能遇到的问题(坑)

问题

1.通过nvm无法正常安装node

问题描述:通过nvm执行命令nvm install <version>安装node,提示安装完成,但是运行nvm ls查看显示并未安装上

这种情况可能是因为nvm的node安装镜像地址,出现网络不稳定等各种因素;

解决方案:手动安装node

a)通过https://registry.npmmirror.com/binary.html?path=node/,直接访问镜像地址,手动下载node包,选择对应版本,对应系统,对应系统位数的压缩包,例如:node-v16.20.2-win-x64.zip(windows系统64位的16.20.2版本的node包)

b)下载后 ==> 解压文件 ==> 并将解压后的文件放在nvm安装目录下 ==> 文件名称换成v+版本号

c)这个时候再去执行nvm ls,正常能看到安装的node版本,选择当前要使用的版本即可

2.无法切换使用node版本

问题描述:已经安装了node,执行nvm use <version>指定当前使用的node版本时出错。

这种情况需要检查下前面NVM_SYMLINK中指定的路径,其中nodejs,是不是一个真实存在的文件夹,如果是的话要删掉,nodejs是后续要生成的Node.js 的符号链接路径(一个快捷键),如果有重名的真实文件夹,会导致生成失败

---------------------------------------------------------------------------------------------------------------------------------

最后附上我这边正常安装后的文件目录及环境变量情况

文件目录情况

环境变量

http://www.jsqmd.com/news/543919/

相关文章:

  • Qwen2.5-7B-Instruct保姆级教程:Streamlit中实现7B对话历史持久化到SQLite数据库
  • 5分钟打造你的专属轻量Windows 11:Tiny11Builder完全指南
  • DDL前如何修改“国自然立项依据”?一键收藏这个“漏斗模型”!
  • 10分钟掌握DoubleML:Python中的双重机器学习完整指南
  • 开发者专属OpenClaw配置:nanobot镜像对接VSCode插件开发
  • 手把手教你学Simulink——基于Simulink的同步整流Buck变换器效率提升仿真
  • 《WaveMamba: Wavelet-Driven Mamba Fusion for RGB-Infrared ObjectDetection》论文分享(侵删)
  • Wan2.2-I2V-A14B部署教程:start_api.sh启动后健康检查与负载测试
  • 老旧电脑焕新:OpenClaw云端模式+Qwen3-32B镜像低配方案
  • GPT-OSS-20B惊艳案例展示:强指令遵循与结构化输出效果
  • AMDGPU驱动中Doorbell与Event机制简要对比
  • AI智能文档扫描仪生产环境部署:支持批量处理的接口扩展
  • 跨域突围与全栈架构演进:从Vite本地代理到Nginx部署+Next.js BFF层实战
  • 基于windows端QtCreator5.14的GDB套件实现linux远程调试
  • OpenClaw人人养虾:接入iMessage
  • Image-to-Video镜像使用技巧:提示词怎么写?参数怎么调?
  • Nanopore三代测序在环境微生物研究中的应用:从土壤到水体的实战案例
  • AdaptixC2变色龙的完整编译搭建
  • 贴片陶瓷电容选型指南V1.1:容量、封装、材质、耐压、……一次讲清
  • NaViL-9B一文详解:双GPU显存占用分析、服务重启与端口验证
  • 指针的学习(2)
  • Axure 9.0原生组件: 绘制柱状图
  • 6_Harness驾驭工程可靠性层:混沌工程与服务可靠性管理
  • Unity机器人仿真终极指南:5分钟掌握URDF导入完整流程
  • 轻量级工具G-Helper:一站式解决ROG游戏本色彩配置异常问题
  • Android Studio项目结构全解析:从build.gradle到AndroidManifest.xml的实用指南
  • OpenCV实战:图像透视变换与直方图处理技巧
  • 真实办公场景还原:mPLUG-Owl3-2B解析会议白板照片+生成纪要要点效果展示
  • 3分钟搞定!Windows 11 LTSC 24H2微软商店终极安装指南
  • Llama-3.2V-11B-cot效果展示:同一图片不同提问角度的推理多样性呈现