node中 nvm npm nrm npx 的介绍及区别

概念

  • nvm (全称:node versions manager) 是node版本管理工具,为了解决node各种版本存在不兼容现象;
  • npm (全称:node package manager) 是Node.js 的包管理工具;
  • nrm (全称:node registry manager) 主要是用来管理 npm中镜像地址的;
  • npx 主要是用来调用项目内部安装的模块;

1、nvm

nvm是node版本管理工具,为了解决node各种版本存在不兼容现象,nvm可以让你在同一台机器上安装和切换不同版本的node。关于nvm的安装及使用,可以点击这里查看https://blog.csdn.net/Charissa2017/article/details/104497572

基本上node每年都会有新的版本推出,一般在4月、10月会更新大版本,为了可以在不同的项目中使用不同的node版本,nvm的用处还有特别多的。

如果是 window 系统,点击这里下载nvm安装包进行安装。

如果是 Mac 系统,点击这里 查看nvm的安装教程。

2、npm

npm 是Node.js 的包管理工具(node package manager),大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm命令安装就可以直接用,不用管代码存在哪,应该从哪下载。npm会在安装node的时候顺带装好了。在命令提示符或者终端输入npm -v,可以查看npm的版本。

常用的命令:

  • npm help,查看所有命令。
  • npm help ,查看某条命令的详细帮助,例如npm help install。
  • npm config list,查看配置信息。
  • npm config set ....,设置镜像。
  • npm install ,安装包,例如npm install gulp。
  • npm update ,将当前目录下node_modules子目录里边的对应模块更新至最新版本。package.json文件里,前面^符号表示,锁定主版本,将次版本更到最新;前面~符号表示,锁定次版本,将补丁版本更至最新。
    • 如"gulp-concat": “^2.6.1”,使用 npm update gulp-concat ,表示更新到2.版本的最新版本。
    • 如"gulp-concat": “~2.6.1”,使用 npm update gulp-concat ,表示更新到2.6.版本的最新版本。
  • npm update -g,将全局安装的对应命令行程序更新至最新版。
  • npm cache clear,清空npm本地缓存,用于下载中断、或者使用相同版本号发布新版本代码的情况。
  • npm publish ,发布包到npmjs官网上。
  • npm unpublish @,撤销自己发布过的某个版本代码。

2.1 设置npm的镜像

npm自带的镜像源是国外的地址,有时候会存在下载速度慢的情况,这个时候可以将registry设置为国内的淘宝镜像,提高下载速度。

原npm地址

npm config set registry http://registry.npmjs.org

设置淘宝镜像

通过config命令:npm config set registry https://registry.npm.taobao.org
或者通过命令行指定:npm --registry https://registry.npm.taobao.org info underscore

3、nrm

nrm(node registry manager)主要是用来管理 npm中镜像地址的,每次设置镜像的时候都需要输入一长串的地址,nrm 可以将这些地址存起来,用的时候通过镜像名称直接设置。

下载nrm
npm install -g nrm

添加registry地址
npm add 自定义名称 地址

例如:

nrm add source http://registry.npmjs.org
nrm add taobao https://registry.npm.taobao.org

使用nrm 切换npm registry地址

nrm use taobao
等同于
npm config set registry https://registry.npm.taobao.org
nrm use source
等同于
npm config set registry https://registry.npm.taobao.org

4. npx

npm从5.2版本开始,增加了npx命令,安装npm的时候,会自动安装npx。

npx主要是用来调用项目内部安装的模块。比如,我们在开发环境下安装了webpack

npm install webpack --save-dev

一般来讲,要调用webpack,只能在项目脚本和 package.jsonscript 字段里面(script字段里的命令也是调用项目内部安装的模块),如果想在命令行下调用,必须像下面这样

./node_modules/.bin/webpack -v

而使用npx的话,就可以写成下面这样

npx webpack -v

4.1 npx的原理

npx在运行的时候,会自动查找当前依赖包中的可执行文件,也就是会先在node_modules/.bin目录下查找;如果找不到,就会去环境变量$PATH里找;如果依然找不到,就会帮你安装。

你可能感兴趣的:(node.js,npm)