NPM全局路径的设置及NRM的使用

NPM(node package manager)是node的包管理工具。因为node是一套轻内核的平台,它虽然提供了一系列的内置模块,但远远不足以满足开发者的需求,于是出现了包(package)的概念。NPM 既可以说是Node的开放式模块登记和管理系统,是一个生态圈或社区,也可以说是Node默认的模块管理器,是一个命令行软件,用来安装和管理Node模块。其官方的社区地址为 https://www.npmjs.com/,其对应的国内加速镜像为 https://npm.taobao.org/

安装全局NPM

一般来说npm不需要单独安装,因为在使用nvm来安装node的时候,默认会连带安装npm。在上一篇文章Node环境的配置与安装(windows系统)当中介绍了,当我们用-> nvm install 5.5.0 32 完成5.5.0版本的node安装之后,会在 D:\nodejs\nvm 目录下生成一个名为 v5.5.0的文件夹。当使用-> nvm use 5.5.0 32完成切换当前系统使用的node版本为5.5.0。此时 D:\nodejs\nodejs这个快捷方式文件夹指向的路径为 D:\nodejs\nvm\v5.5.0。在这个文件夹有npm.cmd文件,此时用这个npm下载的全局的模块包都默认保存在v5.5.0这个文件夹下的node_modules文件夹当中。由于我们经常需要通过nvm来切换node的使用版本,为了在切换之后,之前安装过的全局模块包仍能正常使用,所以我们需要设置npm的全局安装路径。

1、修改全局安装路径

我们想要将npm的全局安装路径设置为 D:\nodejs\nvm\npm,故我们在cmd当中输入命令->npm config set prefix D:\nodejs\nvm\npm。完成修改之后,之后我们用命令->npm install package -g来下载的全局模块包,都会默认下载至D:\nodejs\nvm\npm\node_modules当中。

《NPM全局路径的设置及NRM的使用》

2、下载最新版本的NPM

如果需要升级node.js当中的npm版本时,可以用命令->npm install npm -g 来将npm安装至 D:\nodejs\nvm\npm 文件夹下。此时该文件夹下会自动生成如下的文件。

《NPM全局路径的设置及NRM的使用》

然后需要配置环境变量,在环境变量的用户变量当中,新建一个名为NPM_HOME的变量,其值为D:\nodejs\nvm\npm。再在用户变量的PATH值后面编辑加上;%NPM_HOME%;

《NPM全局路径的设置及NRM的使用》

用上述方式完成NPM的版本升级之后,在第一次使用命令->npm install package -g来下载模块包时可能会遇到如下的报错信息,导致无法下载模块包。
《NPM全局路径的设置及NRM的使用》
这时候,可以删除 D:\nodejs\nvm\npm 这个目录下的node_modules文件夹。然后再进行下载即可。
平时我们如果遇到上述问题,也可以采用这种方式解决。也可以用->npm install cnpm -g下载cnpm包,由于之前配过环境变量,故不需要再配,之后就可以用->cnpm install package -g的方式来下载模块包,使用cnpm一般不会出现版本不匹配之类的报错信息。

NRM的使用

NRM ( Node Registry Manager ) 是一个快速切换npm源的工具。使用->npm install nrm -g来下载安装包。下载完成之后,在npm的全局安装目录下生成nrm,nrm.cmd文件,在对应的node_modules文件夹当中多了一个nrm的文件夹。

《NPM全局路径的设置及NRM的使用》

由于之前这个全局目录已经配置在PATH环境变量的当中,故不需要再配置。在cmd当中,用->nrm ls可以罗列出当前npm所有可以用的镜像源。

《NPM全局路径的设置及NRM的使用》

此时带*号的即为当前本机上的npm所采用的镜像源。可以用->nrm use [name]的方式来切换镜像源。再使用->nrm ls来查看是否更改成功。如下图所示。

《NPM全局路径的设置及NRM的使用》

还可以使用->nrm test 来在线测试各个镜像源的连接速度。

《NPM全局路径的设置及NRM的使用》

使用nrm这个工具的意义在于,可以不用再记各个镜像源的官方地址,可以方便的切换npm的镜像源。如果有些模块包要求必须通过官方镜像源来进行下载时,也需要通过这个工具来完成切换。

    原文作者:倩儿爱甜食
    原文地址: https://segmentfault.com/a/1190000011300327
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞