首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

【全网最细!】使用nvm管理node(从node卸载到node安装使用一文搞定)nrm管理npm源

  • 25-04-24 07:21
  • 2663
  • 9488
blog.csdn.net

全网最细!使用nvm管理node(从node卸载到node安装使用一文搞定)nrm管理npm源

文章目录

  • 全网最细!使用nvm管理node(从node卸载到node安装使用一文搞定)nrm管理npm源
    • 一、认识NVM
      • nvm 与 n 的区别
    • 二、安装NVM
      • 1、卸载全局安装的 node/npm(无node可跳过此步)
      • 2、安装nvm
      • 3、配置nvm下载镜像
      • 4、配置环境变量
      • 5、常用的nvm命令
      • 6、卸载nvm
    • 三、安装node
      • 1、安装node
      • 2、使用node
      • 3、配置淘宝镜像
      • 4、nrm管理镜像源(非必须)
      • 5、常用的npm命令
      • 6、常用的一些标识符

一、认识NVM

在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。

nvm 应运而生,NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。这对于开发人员来说非常有用,尤其是在需要支持不同版本 Node.js 的场景下。

nvm 与 n 的区别

node 版本管理工具还有一个是 TJ大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。

由于 npm 安装的模块路径均为 /usr/local/lib/node_modules,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。

二、安装NVM

1、卸载全局安装的 node/npm(无node可跳过此步)

在官网下载的 node 安装包,运行后会自动安装在全局目录,使用过程中经常会遇到一些权限问题,所以推荐按照以下方法卸载全局安装的 node/npm。

在最新的安装程序中,已经自带了卸载程序,当然也可以手动卸载。

(1)在控制面板中卸载 nodejs;

在这里插入图片描述

(2)删除node的安装目录,一般来说卸载后就已经删除掉了;

(3)删除C盘中遗留的文件

在C盘查找以下文件夹,如果存在,请逐个删除

C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users\用户名\AppData\Roaming\npm
C:\Users\用户名\AppData\Roaming\npm-cache
C:\Users\用户名\AppData\Local\npm-cache
  • 1
  • 2
  • 3
  • 4
  • 5

(4)如果有配置过环境变量的话,将node的环境变量删除;

(5)检测版本

npm -v  
node -v
  • 1
  • 2

出现无法识别这两个命令后,node的环境就是删除干净了。随后一定要重启电脑,再进行下一步的安装操作!

在这里插入图片描述

2、安装nvm

(1)下载安装包

nvm的发布是在github的一个开源仓库里面,因此需要去github上下载(官方地址)。

在这里插入图片描述

但是对于部分因为网络原因,上不去的小伙伴,这里提供了一个国内能够访问的镜像网址,不过这个网站的nvm版本可能不是最新的,如果对版本有要求的话,还是推荐去github上下载。链接地址

在这里插入图片描述

(2)安装

双击nvm-setup.exe进入nvm的安装流程。

切记安装路径的文件夹不要出现中午,不然使用npm的审核会出现符号格式不正确问题。

在这里插入图片描述

在这里插入图片描述

直接安装到C盘的话,就不需要再配置环境变量了,如果你选择了其他的盘,那还需要配置环境变量。

在这里插入图片描述

在这里插入图片描述

静静等待安装成功,然后win+R打卡命令提示符窗口,然后输入nvm -v来查看安装好的nvm版本。

nvm -v
  • 1

在这里插入图片描述

出现版本说明已经将nvm安装成功了。

3、配置nvm下载镜像

安装成功nvm后先别急着安装node,因为node是国外的链接,下载会比较慢,因此我们需要设置一下国内的镜像地址,加快下载的速度。

(1)打开刚刚安装nvm的地址,找到settings.txt 。

在这里插入图片描述

(2)打开该文件,在最下面添加如下两行代码:

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
  • 1
  • 2

4、配置环境变量

如果上面安装的时候路径都选择的是C盘,那么大概率这一步是可以跳过的,不过最好还是检查一下,有时候也可能出现没有的情况。

右键桌面上的此电脑,打开属性。在系统->系统信息中找到高级系统设置,这样就能找到环境变量了。

在这里插入图片描述

打开后查看一下是否存在如下图所示的两个环境变量,如果没有的话需要加上这两个环境变量,注意变量名不要打错了。

在这里插入图片描述

然后在path中添加这两个环境变量,最好用户和系统这两个path都加上

在这里插入图片描述

5、常用的nvm命令

# 查看 nvm 版本:
nvm -v

# 打开nodejs版本控制
nvm on

# 关闭nodejs版本控制
nvm off

# 查看可下载的 nodejs 版本:
nvm list available 

# 下载指定版本的 nodejs:
nvm install [nodejs版本号] # 如 nvm install 16.20.0

# 卸载指定版本的 nodejs:
nvm uninstall [nodejs版本号] # 如 nvm uninstall 16.20.0

# 查看系统上已安装的 nodejs 版本:
nvm ls

# 切换目前使用的 nodejs 版本:
nvm use [nodejs版本号] # 如 nvm use 16.20.0

# 切换到最新版:
nvm use node

# 直接运行特定版本的 Node
nvm run [nodejs版本号] --version # 如 nvm run 16.20.0 --version

# 想了解更多指令可通过 nvm help 指令查看
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

6、卸载nvm

如果不需要nvm了如何卸载呢?

(1)直接打开控制面板,点击卸载软件,找到nvm直接卸载就行,通过nvm下载的node会跟随nvm一起卸载。

(2)还是打开环境变量,将之前设置的环境变量删掉就行了。

三、安装node

1、安装node

win+R打开终端,输入nvm list available,查看当前网络能够下载的所有node的版本,其中CURRENT是比较新的版本,可能不稳定,LTS是稳定版本,推荐下载LTS中的稳定版本。

nvm list available
  • 1

在这里插入图片描述

这里面的版本不全,如果需要查看所有的版本,需要去https://nodejs.org/en/download/releases查看所有的版本。

选择一个开发时需要的版本,比如我需要安装的版本是16.20.0,那么我直接输入nvm install 16.20.0,然后回车执行命令。

nvm install 16.20.0
  • 1

在这里插入图片描述

如果下载错了,需要卸载node,使用命令:nvm uninstall [node版本号]

出现这句话就代表这个版本的node安装成功了,这个时候如果你去nvm的安装目录里面 查看,你可以看到对应两个版本的node文件夹。这里你可以多安装几个版本,推荐装一个比较新的和一个比较稳定的版本。

在这里插入图片描述

2、使用node

在命令行中输入nvm ls可以查看当前系统中有的node版本。

nvm ls
  • 1

在这里插入图片描述

出现 *标代表这个版本是现在正在使用的版本。

当然如果是刚安装上,如果没有这个*标也没事,在命令行中输入nvm use [nodejs版本号]就能进行node版本的使用。

比如我希望切换到16.20.0这个版本,那么我就需要输入nvm use 16.20.0进行版本的使用,需要切换版本时也是使用该命令,然后使用nvm on 打开nodejs版本控制。

nvm use 16.20.0
nvm on
  • 1
  • 2

切换后记得查看一下当然使用的node和npm是否正常。

依次输入node -v和npm -v,查看node和npm的版本。

node -v
npm -v
  • 1
  • 2

能够正常出现两个版本就说明已经安装配置好了。

在这里插入图片描述

注意事项:
如果npm -v出现npm非内部指令或外部指令的情况,说明npm对应的文件没有下载。

解决办法:
失败的原因很简单。如果正常的自动安装,node文件夹里应该如下图,而安装失败,文件夹里并没有npm和npm.cmd两个文件。
在这里插入图片描述
因此我们需要手动安装node版本对应的npm版本,可以去这个链接进行查看:https://nodejs.org/zh-cn/download/releases/
如下图:
在这里插入图片描述
比如我的Node版本是12.22.12,那么我就直接下载6.14.16的版本就行了。可以直接点后面的Release进行下载,也可以去这个网站查找对应的版本进行下载。
https://registry.npmmirror.com/binary.html?path=npm/

下载解压好以后,把整个解压出来的文件夹重命名为npm,然后将这个文件夹放到node目录下的node_modules目录下。
在这里插入图片描述
然后去解压出来的npm文件夹的bin目录下,找到npm和npm.cmd这两个文件
在这里插入图片描述
把这两个文件放到node版本的文件夹下,如图:
在这里插入图片描述
然后再执行npm -v这个命令,就能出现版本了,这样npm就可以正常使用了。
在这里插入图片描述

3、配置淘宝镜像

为了让npm下载包的速度更快,可以为npm设置一个淘宝镜像。

npm config set registry https://registry.npmmirror.com
  • 1

如果出现如下图的错误的话,说明配置的淘宝镜像过期了,可以参考这一篇文章进行修改。直达链接

在这里插入图片描述

4、nrm管理镜像源(非必须)

这一步只是作为拓展,不是必须的,如果只是想通过nvm管理node的小伙伴这一步直接跳过,npm配置了淘宝镜像后就可以了。

nrm(npm registry manager)是npm的镜像管理工具,有时候国外的资源太慢,使用这个就可以快速地在npm源间切换。

(1)安装:

命令行执行命令,npm install -g nrm,全局安装nrm

npm install -g nrm
  • 1

在这里插入图片描述

(2)查看源:

执行命令nrm ls查看可选的源。其中带*号的是当前使用的源,或者使用nrm current可以直接查看当前使用的源。

nrm ls
nrm current
  • 1
  • 2

在这里插入图片描述

(3)切换源

将当前的 npm 源切换为指定的源。可以使用源的名称或 URL 作为 参数。

nrm use 
# 比如需要切换为taobao,那么命令为:nrm use taobao
  • 1
  • 2

在这里插入图片描述

(4)添加源:

你可以增加定制的源,特别适用于添加企业内部的私有源,执行命令nrm add ,其中registry为源名,url为源的路径。

nrm add  
#比如你要添加一个叫gege的源,链接是https://gege.com
#那么命令为:nrm add gege https://gege.com
  • 1
  • 2
  • 3

(5)删除源:

执行命令nrm del 删除对应的源。

nrm del 
# 比如要删除gege这个源,那么执行nrm del gege
  • 1
  • 2

(6)测试源速度:

测试指定源的响应速度,并显示测试结果。

nrm test 
# 比如测试taobao的速度 nrm test taobao
  • 1
  • 2

在这里插入图片描述

5、常用的npm命令

# 初始化一个新的 npm 项目。生成一个 package.json 文件,用于描述项目的元数据。
npm init

# 安装一个 npm 包。
npm install <package> 或 npm i <package> # 比如 npm install express

# 卸载一个 npm 包。
npm uninstall <package> # 比如 npm uninstall express

# 列出当前项目中安装的所有包。
npm list 或 npm ls

# 显示当前项目中已安装包的最新版本。
npm outdated

# 更新一个包到最新版本。
npm update <package> # 比如 npm update express

# 更新所有已安装的包到最新版本。
npm update

# 运行 package.json 中定义的一个脚本。
npm run <script> # 比如 npm run start

# 运行测试脚本,通常在 package.json 中定义。
npm test

# 发布当前项目到 npm 仓库。
npm publish

# 查看和设置 npm 的配置。
npm config # 比如 npm config get prefix

# 显示 npm 的帮助信息。 
npm help
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

6、常用的一些标识符

# 全局安装一个包。
-g 或 --global # 比如 npm install --global express 或 npm install -g express

# 装包并将其添加到 dependencies。
-S 或 --save # 比如 npm install -S express 或 npm install --save express

# 安装包并将其添加到 devDependencies。
-D 或 --save-dev # 比如 npm install -D nodemon 或 npm install --save-dev nodemon

# 安装包并指定确切的版本。
-E 或 --save-exact # 比如 npm install -E express 或 npm install --save-exact express

# 安装包并将其添加到 optionalDependencies
--save-optional 或 -O # 比如 npm install --save-optional express 或 npm install -O express

# 指定安装目录
--prefix # 比如 npm install --prefix /path/to/project express

# 只安装 dependencies,忽略 devDependencies。
--production # 比如 npm install --production
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

恭喜你!到此为止,node的安装和管理你已经很熟悉了,后续npm还有yarn、cnpm、pnpm等内容,如果感兴趣的话,可以参考这一篇文章,传送门
如果觉得这篇文件对你有帮助的话,麻烦点个赞和关注吧!!!谢谢!!!

注:本文转载自blog.csdn.net的VT.馒头的文章"https://blog.csdn.net/m0_59415345/article/details/141496413"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top