随着前端技术的不断更新和发展,nodejs也越来越流行,作为一个web developer,要安装的依赖包、工具库也越来越多,所以npm几乎是所有前端开发者所必须要用到的,我在工作中曾经遇到过这样的问题,我在工作中需要和同事共同开发一个项目,我去git上把他的代码拉下来,习惯性的运行npm install,但是控制台报错了,说是node版本错误,于是我按要求重新下载了新版本的node,然后安装---->开发,几天后,该项目完了,我要回去继续开发我之前的项目,结果一回到之前那个项目,又报错node版本错误。。。这时我才意识到原来不同的项目也许会用到不同版本的node,但是我又想,此时难道我又要卸载当前的node,重新去下载安装吗,百度一下,发现了nvm这个东西,nvm是什么呢?nvm是node的版本管理工具,即:通过nvm我们可以随意切换当前系统里面的node版本,安装了nvm之后我们就可以安装npm,即不同版本的npm,安装了npm之后我们便可以使用镜像下载几乎所有的依赖包和工具库,但是我们可能有时候网络不太好或者某些原因会导致我们的下载速度很慢,此时我们可以安装/切换不同的镜像来下载我们所需要的包,比如说cnpm、taobao等,但是我们每次也不知道到底从哪个镜像下载才是最快的,所以此时我们便需要用到nrm,nrm是开发的npm registry 管理工具, 能够查看和切换当前使用的registry,综上所述,所以我们安装npm的时候应该是如下顺序:

首先安装nvm------->再安装npm------->最后安装nrm

具体步骤如下:

1.macOS和windows两个所用的不同,mac直接安装nvm,windows则需要安装nvmw或者nvm-windows,因为我安装的是nvm-windows,下载地址:https://github.com/coreybutler/nvm-windows

2.利用nvm安装node

  #nvm install 4.2.0(需要下载的版本号)或者 #nvm install(默认下载最新版本) 或者 #nvm install stable(下载稳定版本)

3.利用npm 下载nrm :  #npm install -g nrm

nvm常用命令:

  #nvm install <version>  ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4

  #nvm uninstall <version>  ## 删除已安装的指定版本,语法与install类似

  #nvm use <version>  ## 切换使用指定的版本node

  #nvm ls  ## 列出所有安装的版本

  #nvm ls-remote  ## 列出所以远程服务器的版本(官方node version list)

  #nvm current  ## 显示当前的版本

  #nvm alias <name> <version>  ## 给不同的版本号添加别名

  #nvm unalias <name>  ## 删除已定义的别名

  #nvm reinstall-packages <version>  ## 在当前版本node环境下,重新全局安装指定版本号的npm包

npm常用命令:

  #npm install gulp或者#npm install gulp@ <version>     ## 安装某插件

  #npm install gulp -g    ## 全局安装

  #npm install gulp --save-dev    ## 将安装包信息将加入到devDependencies(开发阶段的依赖)

  #npm install gulp --save    ## 将安装包信息将加入到dependencies(生产阶段的依赖)

nrm常用命令:

  #nrm ls    ## 查看所有可以用的镜像

  #nrm test    ## 测试所有镜像的服务器连接时间,可选择出哪个地址最快

  #nrm use taobao  ## 切换所用镜像(注意:切换后还是使用npm install命令,而不是taobao install)

npm、nvm、nrm的更多相关文章

  1. 第210天:node、nvm、npm和gulp的安装和使用详解

    一.node 1.什么是node? 它不是JS文件,也不是JS框架,而是Server side JavaScript runtime,当服务端的一个JS文件运行时,会被NODE拦截,在NODE中运行J ...

  2. 理解npm、nvm、nodejs之间的关系

    nvm nvm:nodeJs版本管理工具,管理nodejs版本和npm版本,使用nvm安装nodejs时会将npm一起安装下来 nodejs nodeJs: 一种高效的JavaScript运行环境 n ...

  3. Node.js入门(含NVM、NPM、NVM的安装)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. Node.js的介绍 引擎 引擎的特性: JS的内核即引擎.因为引擎有以 ...

  4. Node.js入门(含NVM、NPM、NVM的安装)-(转载)

    Node.js的介绍 引擎 引擎的特性: JS的内核即引擎.因为引擎有以下特性: (1)转化的作用: 汽油柴油等等->动能 模板+数据--->页面 js引擎:js 代码--->机器码 ...

  5. nvm、npm、nodejs的关系(转载)

    nvm.npm.nodejs的关系 为什么要了解nvm.npm.nodejs的关系: reactNative的项目构建都是有这几个工具进行构建管理. 掌握他们的关系,就能了解reactNative项目 ...

  6. 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、Git/SVN)

    一. 各类概念和指令介绍 1. NVM (1).  全称:Node Version Manager,是一款针对Nodejs的版本管理工具,由于Node的版本很多,很多时候我要需要依赖多个版本,并且要求 ...

  7. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  8. nvm、nrm、npm 安装和使用详解

    一.nvm的安装和使用   nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换. nvm 的官方版本只支持 Linux ...

  9. 【NodeJS】nvm、npm、node安装、使用、淘宝源设置等资料

    NodeJS-安装使用淘宝源 管理 node 版本,选择 nvm 还是 n? - WEB前端 - 伯乐在线 creationix/nvm: Node Version Manager - Simple ...

随机推荐

  1. Xshell 5 上传下载插件

    #yum -y install lrzsz #rz 上传 sz用法: 下载一个文件 sz filename 下载多个文件 sz filename1 filename2 下载dir目录下的所有文件,不包 ...

  2. poj1753模拟

    题目链接http://poj.org/problem?id=1573 题意:从第一行第k个出发按照已给的方向前进,问第几步走出去或第几步进入一个有多少步的循环. 就是按照题意模拟就好了. 代码写完了w ...

  3. HBase-存储-概览

    概览 HBase主要处理两种文件:一种是预写日志(Write-Ahead Log,WAL),另一种是实际的数据文件.这两种文件主要由HRegionServer管理.在某些情况下,HMaster也可以进 ...

  4. 好的SQL写法

    DECLARE @beginTime VARCHAR(20)= '2017-12-20 00:00:00';DECLARE @endTime VARCHAR(20)= '2017-12-26 00:0 ...

  5. 关于sublime text 3 pylinter的错误提示

    刚开始用windows下sublime text 3写python,搭建完以后,按ctrl+b可以build,然后保存时候一直提示. Fatal pylint error: x:/python: ca ...

  6. numpy加权平均

    import numpy as np a = np.arange(15).reshape(3,5) a array([[ 0, 1, 2, 3, 4],    [ 5, 6, 7, 8, 9],   ...

  7. JNI_Z

    1. ZC: 用到 VC6 ... http://blog.csdn.net/jiangwei0910410003/article/details/17465085 http://blog.csdn. ...

  8. Mine_目标

    1. hibernate 有简单的方式 可以用于 DDL操作吗? “ DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE.ALTER ...

  9. Zabbix的基本安装配置

    /////////////////下面开始我的表演///////////////// 1.安装zabbixyum install -y epel-release安装rpm包的LAMP环境: yum i ...

  10. spring boot: 计划任务@ EnableScheduling和@Scheduled

    spring boot: 计划任务@ EnableScheduling和@Scheduled @Scheduled中的参数说明 @Scheduled(fixedRate=2000):上一次开始执行时间 ...