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. 配置伪分布模式下的hadoop以及采用fuse-dfs来访问HDFS

    实验目标 配置环境的主要目的是得到HDFS的客户端fuse-dfs的IO性能.本来的服务器上没有任何环境,因此安装均是从无到有的.系统是Ubuntu server 14.04 amd64.整个过程参考 ...

  2. Python网络编程相关的库与爬虫基础

    PythonWeb编程 ①相关的库:urlib.urlib2.requests python中自带urlib和urlib2,他们主要使用函数如下: urllib: urlib.urlopen() ur ...

  3. ImportError: No module named _ssl解决方法

    import ssl时出现ImportError: No module named _ssl错误是因为咱安装Python的时候没有把ssl模块编译进去导致的. 解决步骤: 系统没有openssl,手动 ...

  4. C++中tuple类型

    tuple是C++11新标准里的类型.它是一个类似pair类型的模板.pair类型是每个成员变量各自可以是任意类型,但是只能有俩个成员,而tuple与pair不同的是它可以有任意数量的成员.但是每个确 ...

  5. macOS网络安全审计

    nettop监听网络流量的方法 nettop是macOS系统自带的命令,命令功能能监听网络流量,如果你想查询一个恶意域名.ip和本机进程连接情况,那么可以试试nettop,就是展示方式不是太友好,需要 ...

  6. three.js cannon.js物理引擎之约束(二)

    今天郭先生继续讲cannon.js的物理约束,之前的一篇文章曾简单的提及过PointToPointConstraint约束,那么今天详细的说一说cannon.js的约束和使用方法.在线案例请点击博客原 ...

  7. DatePicker 多时间粒度选择器组件

    使用方法: 在.vue文件引入 import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue' ...

  8. 12. Vue搭建本地服务

    一. 搭建本地服务器 本地服务可以提高开发效率. webpack不需要每次都打包, 就可以看到修改后的效果. 本地服务器基于node.js搭建, 内部使用二十express框架. 可以实现让浏览器自动 ...

  9. swaks制作钓鱼邮件

      一.在网站:https://bccto.me/ 申请一个十分钟的邮箱 二.使用命令行,命令行解释如下: --from hacker@qq.com //发件人的邮箱 --ehlo qq.com // ...

  10. there is nothing(i春秋CTF题解)

      (1)打开页面,显示为:there is nothing (2)抓包发现提示 (3)hint:ip,Large internal network 意为最大的内网网段IP,hint: ip,Larg ...