随着前端技术的不断更新和发展,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. JS获取函数的成员变量

    1. js函数 var table = function(){ var totalCount = 10; //给函数添加一个方法,返回成员变量的值,供调用 this.getTotalCount = f ...

  2. How to Delete using INNER JOIN with SQL Server?

    https://stackoverflow.com/questions/16481379/how-to-delete-using-inner-join-with-sql-server You need ...

  3. nginx 反向代理配置之---指定单域名

    server { listen 80; server_name ngin服务器所对应的的域名; error_log /data/logs/nginx/mainsite.error.log; acces ...

  4. java基础(3)-多线程(1)

    java多线程 进程与线程 进程:指一个正在执行的应用程序.每个进程执行都有一个执行顺序,该顺序称为一个执行路径或一个控制单元(进程是资源分配的最小单位).一个进程包含1~n个线程 线程:指进程中某个 ...

  5. SQL查询顺序

    SQL查询顺序 1 FROM 2 WHERE 3 SELECT 4 ORDER BY 5 GOUP BY 6 HAVING 左外连接:查询出 left join 左边表的全部数据,left join右 ...

  6. 写2个线程,一个打印1-52,一个打印A-Z,打印顺序是12A34B。。。(采用同步代码块和同步方法两种同步方法)

    1.同步方法 package Synchronized; /************************************同步方法****************************** ...

  7. Overlay网络与物理网络的关系

    编者按:无论是云计算还是SDN都把注意力集中在数据中心网络的建设上,各种解决方案层出不穷,其中以VMware为代表的软件厂商提出Overlay网络方案后,为数据中心网络的发展提出了新的思路.那么Ove ...

  8. 平衡二叉树--java

    package com.test.tree; /** * 带有平衡条件的二叉查找树 * */ public class AVLBinarySearchTree<T extends Compara ...

  9. spring: ?.运算符

    ?.运算符 对于被调用方法的返回值来说,我们同样可以调用它的方法.例如,如果selectArtist()方法返回的是一个String,那么可以调用toUpperCase()将整个名字改为大写字母形式: ...

  10. SQL 存在一个表而不在另一个表中的数据

    原文链接:http://blog.csdn.net/windren06/article/details/8188136 (转)A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w ...