本篇记录一些关于使用npm包管理器的记录
npm是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从npm服务器下载别人编写的第三方包到本地使用。
允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。
--- 菜鸟教程解释
检查npm版本
$ npm -v
6.4.1
但是npm的服务器在国外,很多时候,我们单纯使用npm 下载包的网速还是比较受限制的,所以,乐于奉献的淘宝团队,搞了一个npm镜像网址,开放给我们广大中国用户。
进入官网 看到提示 :你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm
:
// 下载 cnpm 工具 代替npm 并且使用 淘宝镜像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
检查cnpm 版本
$ cnpm -v
cnpm@6.0.0 (C:\Users\admin\AppData\Roaming\npm\node_modules\cnpm\lib\parse_argv.js)
npm@6.5.0 (C:\Users\admin\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\lib\npm.js)
node@10.13.0 (C:\Program Files\nodejs\node.exe)
npminstall@3.20.1 (C:\Users\admin\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\lib\index.js)
prefix=C:\Users\admin\AppData\Roaming\npm
win32 x64 10.0.18362
registry=https://registry.npm.taobao.org
显示上面信息代表配置成功了,下次就可以用 cnpm install name
安装npm
包了。
cnpm install package
当然你也可以直接修改淘宝镜像指向
- 单次使用配置
npm --registry https://registry.npm.taobao.org install express
- 持久化配置
npm config set registry https://registry.npm.taobao.org
输入npm config get registry
或者 npm info express
检查是否配置成功
$ npm config get registry
https://registry.npm.taobao.org/
$ npm info express
...
dist
.tarball: https://registry.npm.taobao.org/express/download/express-4.17.1.tgz
...
另外推荐一个工具 nrm
nrm是一个 NPM 源管理器,允许你快速地在如下 NPM 源间切换
安装
$ npm install -g nrm
列出所有源
$ nrm ls
* npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
*代表当前使用的源
也可以使用 nrm current
查看当前使用源
$ nrm current
npm
切换使用源
$ nrm use taobao
Registry has been set to: https://registry.npm.taobao.org/
$ nrm current
taobao
增加源
适用于添加企业内部的私有源。私有源可以使用cnpmjs架设。
$ nrm add [home]
删除源
$ nrm del [home]
测试源的使用速度
可以反复测试,取得平均值。
$ nrm test // 测试全部源的速度
* npm ---- 912ms
yarn --- 1227ms
cnpm --- 745ms
taobao - 231ms
nj ----- Fetch Error
npmMirror 1793ms
edunpm - Fetch Error
本片文章主要是查看网上资源加以整理,用于分享