本文介绍nodejs的包管理里工具,包括:npm,cnpm,yarn,tyarn

先说结论再详细说明:用yarn或者tyarn,不要用npm,国内网络环境npm是大坑!

什么是npm

npm 是JavaScript 世界的包管理工具,并且是Node.js 平台的默认包管理工具。通过npm 可以安装、共享、分发代码,管理项目依赖关系。

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。

查看版本信息

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

  1. <a name="2BMLc"></a>
  2. # cnpm
  3. 淘宝npm镜像,由阿里提供,每10分钟同步一次npm官方镜像。
  4. - 官网:[https://developer.aliyun.com/mirror/NPM](https://developer.aliyun.com/mirror/NPM)
  5. - 源码:[https://github.com/cnpm/cnpm](https://github.com/cnpm/cnpm)
  6. <a name="H1tP6"></a>
  7. ## 安装
  8. 安装命令:
  9. ```git
  10. $ npm install -g cnpm --registry=https://registry.npm.taobao.org

常用命令

支持 npm 除了 publish 之外的所有命令,使用方式跟npm相同,无非是把npm换成cnpm,示例: cnpm install package_name

yarn

Yarn 会缓存它下载的每个包,所以无需重复下载。它还能并行化操作以最大化资源利用率,安装速度之快前所未有。

查看版本信息 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]

  1. <a name="lTaMs"></a>
  2. # tyarn
  3. 淘宝提供的yarn的镜像源,由阿里维护
  4. - 源码:[https://github.com/yiminghe/tyarn](https://github.com/yiminghe/tyarn)
  5. <a name="WvpcT"></a>
  6. ## 安装
  7. ```git
  8. npm i yarn tyarn -g

常用操作

跟yarn一致,把yarn替换为tyarn即可,如:

  1. tyarn add antd