nvm-windows的安装使用及踩坑指南

nvm是node的一款版本管理工具,可以简单操作node版本的切换、安装、查看。常规来说,开发中安装一个node版本就够了,但是最近在开发中有的老项目或者一些特定的项目需要来回切换node的版本,不可能手动去卸载掉之前的node版本,又去下载需要的node版本来安装在使用,这样效率太低下了。所以nvm的作用就体现了,nvm-windows是专门针对windows系统的应用。

自己之前也一直没有使用过nvm-windows这个工具,不知道怎么安装、使用,所以百度了安装以及使用方法,发现很多博主分享的都是比较片面的,要么不合符自己的需求,要么有的是自己实际操作后根本无法使用,所以这里介绍下我踩过的坑

下载

下载地址如下:

https://github.com/coreybutler/nvm-windows/releases

 选择自己需要的下载就是了。这里说明一下,有的博主说要下载1.1.7的版本终端才不会出现乱码字符,亲测乱码字符不是版本的缘故,所以这里大家可以根据自己需要的版本下载

安装

安装有点小讲究,不过还好

1. 这一步是让你选择nvm安装的盘符,建议非系统盘

2. 这一步是让你选择后面node的下载存放地址,这一步比较关键,后面的node版本切换不成功、npm无法使用等原因都跟这里的选择有较大的关系,上面图片的地址是默认的存放地址,这里建议大家都选中跟上面安装nvm的盘符一样,我上面装在D盘,这里我也选择D盘放置下载的node

那么这里选择D盘就完了嘛,不~ 坑就在这里,很多博主直接说选择D盘就完了,然后一路next下去,然后安装完成之后发现node版本切换不成功,最后就是去各种环境变量的配置修改。其实这里根本不用后面的环境的配置,如果修改了环境变量的配置,后面你还需要使用npm去下载yarm、pnpm等其他包管理工具的时候,你会发现可能导致pnpm yarm的安装失败,失败原因大致就是环境变量那套东西导致的,这里正确的做法是选择D盘之后,再在路径后面键入存放node的文件夹,我这里取的nodejs的名称

这样你后面下载的node就会存储在D盘下面的nodejs文件夹里,这样是最方便,最省事的,后面不用修改环境变量什么的。

另外这里还有博主写的是选择跟上面安装nvm的文件夹一样,也就是D:\nvm,这里大家注意,不要选择把下载的node存放在安装nvm的nvm文件夹下,也就是下图这样的路径,这样也会导致后面需要配置环境变量

 

安装完成之后建议配置下node下载的国内镜像

 在nvm的安装路径下找到 setting.txt,新增如下信息

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

 每行的意思分别表示:

第一行是nvm安装路径
第二行是nodejs路径
第三行是node下载镜像
第四行是npm下载镜像

然后就可以去使用nvm了,很多博主建议cmd以管理员身份打开,在cmd中去操作nvm。但是我们平时开发都是在vscode的终端中去操作的,你还要关闭vscode的窗口,去打开cmd着实麻烦,其实可以直接在vscode的终端中去操作的,给vscode管理员身份就行了

1. vscode右键点击,选择属性

2.选择高级

3. 勾选 管理员运行

 这样vscode终端中输入的命令就是以管理员身份执行的了

 使用

vscode终端中使用 nvm -v 命令查看版本

可以看到版本,表示安装成功

 这样就可以下载 切换 node版本了,具体怎么下载 切换的命令,大家自己可以看看nvm的常规使用命令

如果还有要使用pnpm yarn 的 ,自己在安装下就是了,例如安装pnpm:

前提是你已经安装了并且切换了你要使用的node版本,npm已经可以正常使用

像往常一样安装其他工具一样的命令 

这样操作之后,ok,可以正常使用。可以看到刚才选择的存放node的文件夹nodejs里面已经有node的相关文件了

 并且安装的包管理工具也在node_modules中可以看到了,一切都OK

 

 这样操作下来,不用修改环境变量,不会出现无法切换node版本, 也没有出现 nvm use xxx 失败的情况

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

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

相关文章

013:Mapbox GL添加marker

第013个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加marker。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共70行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhu…

算法时间复杂度计算

目录 1.时间复杂度计算 1.1 时间复杂度例题 1.1.1例题 1.1.2例题 1.1.3例题 1.1.4例题 1.2时间复杂度leetcode例题 1.时间复杂度计算 首先,我们需要了解时间复杂度是什么:算法的时间复杂度是指算法在编写成可执行程序后,运行时需要耗费…

使用 Floyd Warshall 检测负循环

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

Linux中的read/write和recv/send的区别,并使用recv/send实现简单的聊天功能

Linux中的read/write和recv/send的区别 r e a d / w r i t e read/write read/write的用法 r e c v / s e n d recv/send recv/send的用法 L i n u x Linux Linux中的 r e a d / w r i t e read/write read/write和 r e c v / s e n d recv/send recv/send的区别下面是一个使用…

Three.js教程:第一个3D场景

推荐:将 NSDT场景编辑器加入你3D工具链 其他工具系列: NSDT简石数字孪生 下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使…

基于SpringBoot的私人健身和教练的预约管理系统源码数据库论文

目 录 第一章 概述 1.1研究背景 1.2开发意义 1.3研究现状 1.4研究内容 1.5论文结构 第二章 开发技术介绍 2.1系统开发平台 2.2平台开发相关技术 2.2.1 Javar技术 2.2.2 Mysql数据库介绍 2.2.3 Mysql环境配置 2.2.4 B/S架构 2.2.5 Springboot框架 …

设计模式-结构型模式之外观模式

4. 外观模式 4.1. 模式定义 外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个 高层接口,这个接口使得这一子系统更加容易使用。外观模…

socket 到底是个啥

哈喽大家好,我是咸鱼 我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗 我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现…

使用树状图可视化聚类

一般情况下,我们都是使用散点图进行聚类可视化,但是某些的聚类算法可视化时散点图并不理想,所以在这篇文章中,我们介绍如何使用树状图(Dendrograms)对我们的聚类结果进行可视化。 树状图 树状图是显示对象…

大模型混战,阿里百度华为谁将成就AI时代的“新地基”?

从算力基础到用户生态,群雄逐鹿大模型 自2022年stable diffusion模型的进步推动AIGC的快速发展后,年底,ChatGPT以“破圈者”的姿态,快速“吸粉”亿万,在全球范围内掀起了一股AI浪潮,也促使了众多海外巨头竞…

微信为什么使用 SQLite 保存聊天记录

SQLite “只是”一个库,它不是传统意义上的服务器。因此,在某些场合下,它确实不合适。但是,在相当多的其他场合,它却是最合适的选择。SQLite 号称是部署和使用最广泛的数据库引擎。我认为这很有可能,因为 S…

10个镜像网站工具箱供你使用,不注册ChatGPT也能免费使用ChatGPT

ChatGPT已经成为了人工智能技术中备受瞩目的一员,它可以为我们带来更加智能化、个性化的交互体验。对于没有ChatGPT账号或者不想注册账号的人来说,他们可能会错过这种神奇的体验。 而本篇文章就帮大家解决这个问题,不用登录ChatGPT账号&…

Doris(9):删除数据(Delete)

Delete不同于其他导入方式,它是一个同步过程。和Insert into相似,所有的Delete操作在Doris中是一个独立的导入作业,一般Delete语句需要指定表和分区以及删除的条件来筛选要删除的数据。 Doris 目前可以通过两种方式删除数据: DE…

使用Schrödinger Python API系列教程 -- 介绍 (一)

使用Schrdinger Python API系列教程 – 介绍 (一) 本文档可从Schrdinger网站www.schrodinger.com/pythonapi访问。 从Python文档字符串生成的完整API文档可以在这里访问 介绍 在最高级别上,Schrdinger Python API提供了一个基本的分子结构类,并允许与…

【JavaEE】关于synchronized总结-Callable用法及JUC的常见问题

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶synchronized原理是什么?synchronized到底有什么特点,synchronized的锁策略是什么,是怎么变化的呢?本篇文章总结出, Synchronized 具有以下特性…

HyperWorks2021软件安装教程

下载软件 https://www.xsoftnet.com/share/a0004MWyQAg9r.html产品介绍: HyperWorks一款功能强大的开放式架构仿真软件。拥有先进的技术以及高性能、高效和创新的产品,为用户提供了设计、仿真和制造等服务。支持电磁分析设计、材料建模制造、多物理场分…

【数据结构】二叉树链式结构

🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对…

18 隐私模式下面发送 http 请求不成功

前言 是这样的一个情况, 最近 我们服务存在这样的一个问题 是在登录界面, 假设我用户名 或者 密码输入错误, 能够得到真确的结果, 拿到了 正常的 http 响应, 回来 "用户名 或者 密码 不正确 " 但是 假设是在 隐私模式下面, 同样的输入, 同样的服务, 但是结果 不一…

【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Java多线程基础学习(一)

1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target){} 示例: Thread thread1 new Thread(new MyThread(), "mythread"); class MyThread extends Thread(){public void …