本文介绍nodejs的包管理里工具,包括:npm,cnpm,yarn,tyarn
先说结论再详细说明:用yarn或者tyarn,不要用npm,国内网络环境npm是大坑!
什么是npm
npm 是JavaScript 世界的包管理工具,并且是Node.js 平台的默认包管理工具。通过npm 可以安装、共享、分发代码,管理项目依赖关系。
npm 由三个独立的部分组成:
- 网站:https://www.npmjs.com/
- 注册表(registry)
- 命令行工具 (CLI) :https://docs.npmjs.com/cli/npm
网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
注册表 是一个巨大的数据库,保存了每个包(package)的信息。
CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
也就是说,npm提供了一种全世界js程序员共享自己代码的工具,大家的代码打成一个npm package,然后存放在npmjs.com网站上,通过cli工具下载、管理、分享自己的js代码。
日常开发npm包管理是必备工具,由于nodejs的node_module和npm设计的太糟糕了,开源界做了什么弥补的工具,最好用的是yarn,但是由于国内网络环境问题,国内访问npm的官网速度是十分感人的,推荐使用淘宝的npm镜像,也推荐使用淘宝提供的npm管理工具:cnpm和tyarn,分别对应npm和tyarn
- npm:nodejs官方包管理工具,网速差,下载耗时超久。
- cnpm:淘宝提供的国内npm镜像源,网速快,但下载也很慢,且node_module跟npm的略有不同,容易出现问题。
- yarn:开源的nodejs包管理工具,提供多线程下载,下载速度快,但是国内网速也很感人。
- tyarn:淘宝提供的国内的yarn工具,下载速度快,网速快
- 总结:目前阶段,国内使用的话推荐tyarn,能节省很多很多开发时间。
npm
安装
nodejs自带,下载nodejs安装即可使用npm。
- 官网下载:https://nodejs.org/en/download/
- 推荐中国官网下载,网速好:http://nodejs.cn/download/
- npm源码:https://github.com/npm/npm
常用命令
```git查看帮助
npm help
查看版本信息
npm -version
初始化项目
npm init
全部使用默认配置初始化项目
npm init -y
安装依赖
npm install package_name
install可以简写为i
npm i package_name
一次安装多个依赖
npm i package_name1 package_name2 package_name3…
全局安装依赖
npm i package_name -g
装运行时依赖包
npm install package_name —save
安装开发时依赖包
npm install package_name —save-dev
卸载依赖
npm uninstall package_name
卸载全局模块
npm uninstall package_name -g
更新模块
npm update package_name
更新全局模块
npm update package_name -g
查看当前安装的依赖包
npm ls
查看全局安装的依赖包
npm ls -g
查看本地安装目录
npm root
全局安装的目录
npm root -g
查看模块的信息
npm info package_name
<a name="2BMLc"></a>
# cnpm
淘宝npm镜像,由阿里提供,每10分钟同步一次npm官方镜像。
- 官网:[https://developer.aliyun.com/mirror/NPM](https://developer.aliyun.com/mirror/NPM)
- 源码:[https://github.com/cnpm/cnpm](https://github.com/cnpm/cnpm)
<a name="H1tP6"></a>
## 安装
安装命令:
```git
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
常用命令
支持 npm
除了 publish
之外的所有命令,使用方式跟npm相同,无非是把npm换成cnpm,示例: cnpm install package_name
yarn
Yarn 会缓存它下载的每个包,所以无需重复下载。它还能并行化操作以最大化资源利用率,安装速度之快前所未有。
- 官网:https://classic.yarnpkg.com/zh-Hans/
- 源码:https://github.com/yarnpkg/yarn
安装
官方提供了多种安装方式,详细见安装文档:https://classic.yarnpkg.com/zh-Hans/docs/install#windows-stable
推荐你使用npm安装yarnnpm install -g yarn
常用命令
```git 帮助文档 yarn —help
查看版本信息 yarn -verison
安装项目的全部依赖 yarn 或者 yarn install
初始化新项目 yarn init
添加依赖包 yarn add [package] yarn add [package]@[version] yarn add [package]@[tag]
添加全局依赖包
yarn add [package] -g
将依赖项添加到不同依赖项类别 分别添加到 devDependencies、peerDependencies 和 optionalDependencies: yarn add [package] —dev/yarn add [package] -D yarn add [package] —peer yarn add [package] —optional
升级依赖包 yarn upgrade [package] yarn upgrade [package]@[version]
移除依赖包 yarn remove [package]
<a name="lTaMs"></a>
# tyarn
淘宝提供的yarn的镜像源,由阿里维护
- 源码:[https://github.com/yiminghe/tyarn](https://github.com/yiminghe/tyarn)
<a name="WvpcT"></a>
## 安装
```git
npm i yarn tyarn -g
常用操作
跟yarn一致,把yarn替换为tyarn即可,如:
tyarn add antd