1,前言


注意:此教程仅限Windows,Mac可能不适用

在我们的日常开发中可能会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的node.js,如果没有一个合适的工具,这个问题将非常棘手。所以,nvm应运而生。

2,安装nvm


1,首先需要卸载已安装的node.js,卸载完成后,请检查环境变量,如果还有node.js,请去掉,保证系统已经无任何node.js残留。

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

2,进入nvm下载地址,下载nvm-setup安装包,

3,下载完成后,解压,运行安装文件,安装路径不要有中文,空格等,不要放在C盘,可能会出现无法访问的情况。

4,打开cmd,输入nvm,出现下面这一堆字就是安装成功了

5,配置下载镜像,在nvm安装路径下找到setting.txt文件,打开,新增如下信息

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

增加后如下

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

3,nvm的使用


找到cmd,使用管理员模式打开

1,安装指定node.js版本

nvm install 14.16

2,安装完成之后,需要使用才能生效

nvm use 14.16

3,查看当前已安装的node.js版本,带*号的是正在使用的

nvm ls

4,错误处理


1,出现node.js拒绝访问

解决办法:卸载nvm,检查是否有node.js残留,包括环境变量,重启,重装nvm


2,npm -v,出现npm不是内部或者外部的命令

这是因为8.11以上版本的node.js对应的npm都没法自动安装,需要手动安装对应版本的npm

npm各版本下载地址:https://npm.taobao.org/mirrors/npm

下载完成后,解压,将文件夹名字改成npm,放入nvm安装目录中对应node.js版本的文件夹里面的node_modules文件夹中,然后,在文件夹中找到bin文件夹,将下图4个文件复制,粘贴到node_modules的同级目录里



至此,解决。

5,修改npm默认镜像源

修改npm镜像源为淘宝镜像

npm config set registry https://registry.npm.taobao.org

检查是否成功

npm config get registry

或者直接安装淘宝镜像(命令如下,使用起来就是cnpm)

npm i -g cnpm --registry=https://registry.npm.taobao.org

6,win10下cnpm报错


1,在开始菜单里找到Windows PowerShell,并以管理员身份运行

2,输入set-ExecutionPolicy RemoteSigned,回车,出现下图这段话后,输入a回车



3,再输入get-ExecutionPolicy,回车,出现RemoteSigned即为成功

如果看了觉得有帮助的,我是@鹏多多,欢迎 点赞 关注 评论;

END

往期文章

个人主页

使用nvm管理node.js版本以及更换npm淘宝镜像源的更多相关文章

  1. npm更换成淘宝镜像源以及cnpm

    1.需求由来 由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常.所以如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队(阿里巴巴旗下业务阿里云)干了这事.来自官网:“ ...

  2. Mac下nvm管理node.js版本问题

    本篇文章主要是针对已经安装了node.js和nvm管理工具小伙伴遇到的问题. 管理工具有两个,一个是nvm,还有一个是nnvm的好处就是可以管理多个node版本,而且可以切换想要的版本,可以安装一个稳 ...

  3. npm更换为淘宝镜像源

    1.通过config命令   1 2 npm config set registry http://registry.cnpmjs.org npm info underscore (如果上面配置正确这 ...

  4. windows使用nvm管理node不同版本

    最近项目需要升级,新技术需要的node版本较高,而新node不兼容旧版本node,而原项目仍需要继续维护,所以就需要在本地有多个版本的node,基本原理是在环境配置中修改系统变量node的版本文件夹路 ...

  5. 利用n和nvm管理Node的版本

    写在前面 Node版本的迭代速度很快,版本很多(横跨0.6到0.11),升级Node版本成为了一个问题.目前有n和nvm这两个工具可以对Node进行无痛升级,本文简单介绍一下二者的使用. n n是No ...

  6. 使用nvm管理node不同版本,安装,环境配置,切换不同版本的node版本

    文章包含以下内容: 一.下载地址 二.nvm-noinstall.zip安装 三.nvm-setup.zip安装 四.测试安装以及使用 一.下载地址 https://github.com/coreyb ...

  7. ubuntu 安装 nvm 管理Node.js 以及vim 插件增强

    安装curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bashsource ~/.bashr ...

  8. 管理node.js版本的模块:n

    n模块的使用: 命令 作用 yarn global add n 全局安装n n stable 升级node.js到最新稳定版 n v0.10.26 或 n 0.10.26 升级到指定版本号

  9. ruby更换为淘宝的源

    我们在使用gem更新的时候,经常会为速度抓狂,其实gem默认的源是https://rubygems.org,比较慢众所周至的原因了. 可以将源更换到国内的taobao源 查看当前有的源 gem sou ...

随机推荐

  1. java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)

    一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...

  2. SpringBoot接收map类型的参数

    如果某个controller的某个接口的参数特别多,也可以使用map的方式来接收参数,接收之后使用get方法获取即可. 1)get请求方式,定义map接收方式 @RequestParam(requir ...

  3. lombok插件@Slf4j注解不生效问题解决办法

    最近在尝试使用日志工具Sfl4j,当时使用log时报错,找了好久才解决这个问题. 1.首先需要下载Lombok插件 File->settings->Plugins 搜索Lombok,点击安 ...

  4. Asp.NET Core 限流控制-AspNetCoreRateLimit

    起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行:需要对提供的接口进行限流控制.避免因客户端频繁的请求导致服务器的压力. 一.AspNetCoreRateLimit 介 ...

  5. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

  6. CentOS Install NMP

    目录 Installation steps of the Nginx install run 默认安装路径 指定安装目录 Installation steps of the MySQL 下载源码包 解 ...

  7. 剑指 Offer 24. 反转链表

    剑指 Offer 24. 反转链表 Offer 24 题目描述: 常规解法 本题的解法很常规,没有其他特别的坑,只需要将链表反转即可. package com.walegarrett.offer; / ...

  8. three.js cannon.js物理引擎之齿轮动画

    郭先生今天继续说一说cannon.js物理引擎,并用之前已经学习过的知识实现一个小动画,知识点包括ConvexPolyhedron多边形.Shape几何体.Body刚体.HingeConstraint ...

  9. 2020年12月-第02阶段-前端基础-CSS Day02

    CSS Day02 复合选择器 后代选择器 并集选择器 1. CSS复合选择器 理解 理解css复合选择器分别的应用场景 为什么要学习css复合选择器 CSS选择器分为 基础选择器 和 复合选择器 , ...

  10. 危害api收集

    以下每一条代码,无论其通过什么方式被调用,在哪个类里被调用,传入什么参数,都具有唯一不变性(在逆向出来的的smali文件里),故可以作为匹配的凭证.     网络操作相关: Ljava/net/URL ...