npm 的使用(包括 nrm 管理镜像源)

目录

  • 一、认识 npm
    • 1、npm 的使用场景
    • 2、查看本地 npm
  • 二、npm 管理包
    • 0、npm 查看一个包的所有版本
    • 1、npm 安装一个包
    • 2、npm 查看一个包的信息
    • 3、npm 升 / 降级一个包
    • 4、npm 卸载一个包
  • 三、npm 依赖包版本号【~/^/*】
  • 四、npm 查看指定 package 包的依赖关系
    • 1、查看项目中 npm 的依赖关系图
    • 2、npm 查看指定 package 包的依赖关系
  • 五、npm 切换镜像站点
    • 1、查看 npm 的源
    • 2、npm 切换镜像
    • 3、使用 nrm 管理镜像源
      • (1)、安装 nrm
      • (2)、nrm 查看镜像源(检测 nrm 是否安装成功)
      • (3)、nrm 切换镜像源
      • (4)、nrm 新增一个自定义的镜像源
      • (5)、nrm 删除一个镜像源
      • (6)、nrm 测试一个镜像源的速度
    • 4、常见的 npm 镜像源

npm 官网中文教程:npm 中文文档

一、认识 npm

1、npm 的使用场景

npm 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。
  • 允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。

2、查看本地 npm

查看自己是否安装 npm 或 查看已安装的 npm 的版本,可以用下面的命令:

npm -v

二、npm 管理包

0、npm 查看一个包的所有版本

npm view <包名> versions --json

1、npm 安装一个包

npm install <插件>
// 可以简写为 npm i <插件>

可以一次安装多个插件,多个插件间以空格分隔。

安装分类:

  • 局部安装:默认为局部安装插件。
  • 全局安装:若要全局安装插件,必须加上 -g 命令。
npm install less      // 本地安装
npm install less -g   // 全局安装

安装的东西会在 package.json 文件中注册。

【注意】
安装一个包时需要区分,要看这个包作用在 开发时 还是 运行时 :

  • 开发时依赖:需要使用 -D(--dev-save),会在 devDependencies 里面添加该依赖。
  • 运行时依赖:需要使用 -S(或 --save),会在 dependencies 里面添加该依赖。
  • 若没有指定,则默认会在运行时(即 dependencies)里面添加该依赖。

如何区分一个包是开发时还是运行时所需的依赖呢?
比如:

  • 如果你写 ES6 代码,想编译成 ES5 发布,可是在发布正式的线上版本之前,已经将es6通过babel转为es5,那么用户设备中运行的本来已经是es5了,所以就把babel安装在devDependencies中。
  • 如果你用了 jQuery,由于发布之后还是依赖jQuery,所以是dependencies。

其实,没必要非弄个泾渭分明,只要不是线上版本依赖的包,一般安装在 devDependencies 里即可,没那么麻烦。

2、npm 查看一个包的信息

查看 npm 服务器上所有的 node-sass 版本:

npm view node-sass versions

查看npm服务器上 node-sass 最新版本:()

npm view node-sass version

查看npm服务器上最新版本 node-sass 的详细信息:()

npm info node-sass

查看本地查看全局安装的 node-sass 的信息(版本及依赖包),没有安装 node-sass,则返回 empty 的结果:

npm ls node-sass -g

查看本地当前项目 node-sass 的信息(版本及依赖包),没有安装 node-sass,则返回 empty 的结果:()

npm ls node-sass

3、npm 升 / 降级一个包

无论升级还是降级一个包,只需要安装 你所需要的指定版本的该包 即可:

npm i -S node-sass@6.0.1

4、npm 卸载一个包

npm uninstall less

三、npm 依赖包版本号【~/^/*】

npm 依赖包版本号的前缀标识:

  • *:默认是*,可省略,安装的是最新版本的依赖包。
  • ~ :会匹配最近的小版本依赖包,比如:~1.2.3 会匹配所有1.2.x版本,但是不包括1.3.0。
  • ^ :会匹配最新的大版本依赖包,比如:^1.2.3 会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0。

【~/^/*】的稳定性比较:

  • 推荐使用 ~,只会修复版本的 bug,比较稳定。()
  • 使用 ^ ,有的小版本更新后会引入新的问题导致项目不稳定。
  • 使用 *, 同样有上述问题。

四、npm 查看指定 package 包的依赖关系

1、查看项目中 npm 的依赖关系图

npm ls

2、npm 查看指定 package 包的依赖关系

npm ls <包名>

五、npm 切换镜像站点

1、查看 npm 的源

npm config get registry

【拓展】
查看 npm 的所有配置:

npm config list

2、npm 切换镜像

npm config set registry <镜像源 URL 地址>

3、使用 nrm 管理镜像源

nrm 是 npm 的镜像源管理工具。

(1)、安装 nrm

npm i -g nrm

(2)、nrm 查看镜像源(检测 nrm 是否安装成功)

nrm ls

其中,带 * 的是当前使用的源,上面的输出表明当前源是官方源。

(3)、nrm 切换镜像源

从开始的 npm 切换到 cnpm:

nrm use cnpm

从 cnpm 切换到 taobao:

nrm use taobao

(4)、nrm 新增一个自定义的镜像源

nrm add <自定义的源名> <源的URL路径 >

(5)、nrm 删除一个镜像源

nrm del <源名>

(6)、nrm 测试一个镜像源的速度

nrm test <源名>

4、常见的 npm 镜像源

nrm 简称 npm 镜像源
npm https://registry.npmjs.org/
cnpm http://r.cnpmjs.org/
taobao http://registry.npm.taobao.org/
yarn https://registry.yarnpkg.com
edunpm http://registry.enpmjs.org/
eu http://registry.npmjs.eu/
au http://registry.npmjs.org.au/
sl http://npm.strongloop.com/
nj https://registry.nodejitsu.com/
pt http://registry.npmjs.pt/
pnpm https://registry.npmjs.org/

【推荐】:
npm/pnpm/yarn切换源



参考文档:

npm 菜鸟教程

你可能感兴趣的:(#,npm,npm,nrm)