随着前端技术的不断更新和发展,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. linux下ipython的安装

    第一种:ipython源码安装ipython的源码下载页面为:https://pypi.python.org/pypi/ipython 或者是到git页面下载:https://github.com/i ...

  2. 异常:没有找到本地方法库,java.lang.UnsatisfiedLinkError: no trsbean in java.library.path

    1.问题描述 迁移环境中遇到这个问题 : Fri Apr 20 15:22:31 CST 2018, Exception:500004___-500004,没有找到本地方法库,java.lang.Un ...

  3. C#加密解密DES字符串<转>

    using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph ...

  4. SBT搭建Spark

    http://www.cnblogs.com/yongjian/p/6211007.html http://www.aboutyun.com/thread-8587-1-1.html http://b ...

  5. python 之CORS,VUE+rest_framework示例

    一.跨域     浏览器的同源策略                 ----对ajax请求进行阻拦                 ----对href属性读不阻拦        xhr=new XML ...

  6. 利用虚拟网桥实现Docker容器的跨主机访问

    最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学 ...

  7. hdu 5244 inverse(分治¥)

    inverse Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  8. Container容器调用构造函数

  9. Linux(CentOS)下.NET,mono环境的安装步骤整理

    本文Linux使用的是CentOS 7 1.软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://down ...

  10. 2018.8.10 programming bat based on python

    @echo off REM Current DevProg Version. Match the pip package version (x.y.z)SET currentversion=0.4.0 ...