欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-29 11:41:48
...

概念

  • 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 可以将这些地址存起来,用的时候通过镜像名称直接设置。

下载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