【nvm】下载安装及使用(包含windows和Linux)

目录

1、Windows版本下载及安装

2、Linux下载及安装

下载

安装

3、使用 


在不借助第三方工具的情况下切换node版本,只能卸载现有版本,安装需要的版本,这样显然很麻烦。而nvm就很好的帮我们解决了这个问题。

nvm(node.js version management)是windows系统使用的node版本管理工具,能快捷地安装或者切换不同版本的node。

注意!!如果已经安装node,需要卸载干净当前node,不然会报错或出现异常情况!!!

C:\Users\admin\AppData\Roaming\node下面的文件也要解决干净


1、Windows版本下载及安装

官网下载:https://github.com/coreybutler/nvm-windows/releases

建议选择手动安装版,zip包下载完成后进行解压缩,双击解压出来的nvm-setup.exe进行安装

设置nvm的安装路径

设置使用nvm安装的node时,node的路径(附加有详讲)

设置环境变量

此电脑-属性–高级系统设置-环境变量

新建 NVM_HOME 变量值为:D:\develop\nvm(即:nvm安装路径)
新建 NVM_SYMLINK 变量值为:D:\develop\nodeJs(即:nodeJs路径)

在Path后追加 %NVM_HOME%%NVM_SYMLINK% 属性变量

 检测是否安装成功,执行以下命令,若出现版本号,说明安装成功

nvm -v

修改镜像源

打开 D:\develop\nvm\settings.txt

复制粘贴以下代码

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

或者直接执行以下代码

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

2、Linux下载及安装

下载

方法1

 官网下载:https://github.com/nvm-sh/nvm

 

 然后传到Linux中的/root目录

方法2

进入/root目录,然后执行以下命令

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

方法3

进入/root目录,然后执行以下命令,目录需要更换成所需版本

wget https://github.com/nvm-sh/nvm/releases/tag/v0.39.7

安装

解压

# --strip-components 1: 是tar命令的选项,表示在解压缩过程中去除文件路径的第一个组件。
tar -zxvf nvm-0.38.0.tar.gz --strip-components 1  -C /root/nvm-0.39.7

# 如果是 tar.gz 结尾的,使用 tar xvzf 解压
tar xvzf v0.39.7.tar.gz

配置环境

打开~/.bashrc

vim ~/.bashrc

在里面添加以下代码

export NVM_DIR="$HOME/home/software/nvm-0.39.0"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

 重启配置

source ~/.bashrc

 检测是否安装成功,执行以下命令,若出现版本号,说明安装成功

nvm -v

3、使用 

查看当前nvm所支持的node版本

CURRENT:最新版本

LTS:稳定版本

nvm ls available
# 或者
nvm list available

安装所需版本的node

nvm install 版本号

查看已安装的node版本,*指向的就是当前版本

nvm ls
# 或者
nvm list

 切换node版本

nvm use 18.16.0

检测node和npm是否安装成功

node -v
npm -v

卸载已安装的node

nvm uninstall 18.13.0

4、附加

nvm将

当我们执行nvm use 18.16.0后,是安装在nvm安装的目录下的

当我们执行 nvm use 18.16.0 时,nvm的同级目录会产生一个快捷方式,这个快捷方式指向的就是当前使用的node版本的目录!

配置nodeJS

https://blog.csdn.net/qq_39921135/article/details/136032833?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/405181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

百度百科词条在网络推广中的六大作用

也许很多网友都发现了,在网上查资料,百科词条往往是优先展示的。一方面因为百科是搜索引擎自身的平台,另一方面就是因为百科信息权威,网友认可度高。所以企业开展网络营销,百科营销是一块重要阵地。 也有的企业认为百科…

408计算机网络--基础概论

学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)七层妖塔 计算机网络:是一个将分散的、具有独立功能的计算机系统&#xff0…

TCP/IP协议详解

文章目录 TCP/IP协议概述基于TCP/IP协议的应用工具协议协议的必要性 TCP/IP协议TCP/IP协议族协议的分层 传输方式的分类报文、帧、数据包等的区别TCP 和 UDP的区别 TCP/IP协议概述 TCP/IP(Transmission Control Protocol/Internet Protocol)是一组通信协…

【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)

背景需求 上学期的周安排里,每班每周的自主游戏会轮到多个不同的内容 因此在每周的自主游戏观察有2次记录,观察的项目可以写不一样的, 如一位老师写沙水游戏,另一位写表演游戏 本学期,中班的自主游戏全部是户外的&am…

C++的deque容器->基本概念、构造函数、赋值操作、大小操作、插入和删除、数据存取、排序

#include<iostream> using namespace std; #include <deque> //deque构造函数 void printDeque(const deque<int>& d) { for (deque<int>::const_iterator it d.begin(); it ! d.end(); it) { //*it 100; 容器中的数据不可以修…

Vue | (三)Vue组件化编程 | 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 &#x1f4da;模块与组件、模块化与组件化&#x1f4da;非单文件组件&#x1f407;基本使用&#x1f407;关于组件的几个注意点&#x1f407;组件的嵌套 &#x1f4da;单文件组件&#x1f407;一个.vue 文件的组成&#x1f407;实例 学习链接&#xff1a;尚硅谷Vue2.0…

Node.js的debug模块源码分析及在harmonyOS平台移植

Debug库 是一个小巧但功能强大的 JavaScript 调试工具库&#xff0c;可以帮助开发人员更轻松地进行调试&#xff0c;以便更快地发现和修复问题。它的主要特点是可以轻松地添加调试日志语句&#xff0c;同时在不需要调试时可以轻松地禁用它们&#xff0c;以避免在生产环境中对性…

[linux]进程间通信(IPC)———共享内存(shm)(什么是共享内存,共享内存的原理图,共享内存的接口,使用演示)

一、什么是共享内存 共享内存区是最快的&#xff08;进程间通信&#xff09;IPC形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到内核&#xff0c;换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。注意&#xff1a;…

如何进行高性能架构的设计

一、前端优化 减少请求次数页面静态化边缘计算 增加缓存控制&#xff1a;请求头 减少图像请求次数&#xff1a;多张图片变成 一张。 减少脚本的请求次数&#xff1a;css和js压缩&#xff0c;将多个文件压缩成一个文件。 二、页面静态化 三、边缘计算 后端优化 从三个方面进…

vue3中使用vuedraggable实现拖拽el-tree数据进分组

看效果&#xff1a; 可以实现单个拖拽、双击添加、按住ctrl键实现多个添加&#xff0c;或者按住shift键实现范围添加&#xff0c;添加到框中的数据&#xff0c;还能拖拽排序 先安装 vuedraggable 这是他的官网 vue.draggable中文文档 - itxst.com npm i vuedraggable -S 直接…

Python-pdfplumber读取PDF内容

文章目录 前言一、pdfplumber模块1.1 pdfplumber的特点1.2 pdfplumber.PDF类1.3pdfplumber.Page类 二 pdfplumber的使用2.1 加载PDF2.2 pdfplumber.PDF 类2.3 pdfplumber.Page 类2.4 读取PDF2.5 读取PDF文档信息2.6 查看总页数2.7 查看总页数读取第一页的宽度&#xff0c;页高等…

chatGPT 使用随想

一年前 chatGPT 刚出的时候&#xff0c;我就火速注册试用了。 因为自己就是 AI 行业的&#xff0c;所以想看看国际上最牛的 AI 到底发展到什么程度了. 自从一年前 chatGPT 火出圈之后&#xff0c;国际上的 AI 就一直被 OpenAI 这家公司引领潮流&#xff0c;一直到现在&#x…

【安卓基础4】Activity(二)

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频链接 &#xff08;他们的视频后面一部分没再更新&#xff0c;看看前面也…

VSCode The preLaunchTask ‘C/C++: clang++ 生成活动文件‘ terminated with exit code -1

更改tasks.json文件里面的type为shell 选择g 选择g&#xff0c;然后点回到text.c&#xff0c;按下F5. 得到结果。 文中内容参考: 从零开始手把手教你配置属于你的VS Code_哔哩哔哩_bilibili https://blog.csdn.net/qq_63872647/article/details/128006861

基于springboot+vue的桂林旅游景点导游平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

从扩散模型基础到DIT

Diffusion model 扩散模型如何工作&#xff1f; 输入随机噪声和文本内容&#xff0c;通过多次预测并去除图片中的噪声后&#xff0c;最终生成清晰的图像。 以上左边这张图&#xff0c;刚开始是随机噪声&#xff0c;999为时间序列。 为什么不直接预测下一张图片呢&#xff1f;…

java 面向对象-上

1.构造器&#xff08;或构造方法&#xff09;&#xff1a; Constructor 构造器的作用&#xff1a; 1.创建对象 2.初始化对象的信息 2.使用说明&#xff1a; * 1.如果没显式的定义类的构造器的话&#xff0c;则系统默认提供一个空参的构造器 * 2.定义构造器的格式&#xff1a…

python OpenCV:seamlessClone泊松融合

一、seamlessClone函数的用法 翻译 https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp/ def seamlessClone(src, dst, mask, p, flags, blendNone): # real signature unknown; restored from __doc__"""seamlessClone(src, dst, mask, …

RM电控讲义【定时器篇】

HAL库最显著的特点是基于结构体从而利用句柄进而简化代码。 定时器初始化&#xff1a; TIM6_DAC_IRQn是STM32G431单片机中定时器TIM6的中断请求名。TIM6是STM32G431的一个基本定时器&#xff0c;具有基本的定时功能。当累加的时钟脉冲数超过预定值时&#xff0c;TIM6能触发中断…

C语言-指针初学速成

1.指针是什么 C语言指针是一种特殊的变量&#xff0c;用于存储内存地址。它可以指向其他变量或者其他数据结构&#xff0c;通过指针可以直接访问或修改存储在指定地址的值。指针可以帮助我们在程序中动态地分配和释放内存&#xff0c;以及进行复杂的数据操作。在C语言中&#…
最新文章