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 <command>
,查看某条命令的详细帮助,例如npm help install。 -
npm config list
,查看配置信息。 -
npm config set ....
,设置镜像。 -
npm install <package>
,安装包,例如npm install gulp。 -
npm update <package>
,将当前目录下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 <package> -g
,将全局安装的对应命令行程序更新至最新版。 -
npm cache clear
,清空npm本地缓存,用于下载中断、或者使用相同版本号发布新版本代码的情况。 -
npm publish <package>
,发布包到npmjs官网上。 -
npm unpublish <package>@<version>
,撤销自己发布过的某个版本代码。
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 可以将这些地址存起来,用的时候通过镜像名称直接设置。
下载nrmnpm 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.json
的 script
字段里面(script字段里的命令也是调用项目内部安装的模块),如果想在命令行下调用,必须像下面这样
./node_modules/.bin/webpack -v
而使用npx的话,就可以写成下面这样
npx webpack -v
4.1 npx的原理
npx在运行的时候,会自动查找当前依赖包中的可执行文件,也就是会先在node_modules/.bin
目录下查找;如果找不到,就会去环境变量$PATH
里找;如果依然找不到,就会帮你安装。
上一篇: PHP队列的实现
下一篇: 花木兰的战友对花木兰说