# npm、cnpm、nvm、nrm、yarn、tyarn、npx、pnpm

这么多工具还分不清楚,看这篇文章就够了。

# npm && cnpm

下载完 node 就自动有了 npm,但是 npm 源访问可能比较慢,这就有了 cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

这样就全局创建了命令 cnpm,使用淘宝镜像源,当然也可以直接这样使用:

npm install xxx --registry=https://registry.npm.taobao.org

# nrm

npm包有很多的镜像源,有的源有的时候访问失败,有的源可能没有最新的包,有的要使用公司内部的源,所以有时需要切换npm的源,nrm包就是解决快速切换问题的。

nrm ls # 列出可选择的源
nrm use <registry> # 切换使用的源
nrm add <registry> <url> # 添加一个源
nrm del <registry> # 删除一个源
nrm test npm # 测试源速度

其实这种方式相当于

npm install xxx --registry=<url>

# nvm

nvm (opens new window) 是管理 node 版本的工具,类似的还有 n (opens new window)

# yarn && tyarn

yarn 是 FaceBook 开源的一个新的包管理器, 和npm的作用是一样的。它和npm最大区别是,yarn是并行下载的,所以下载速度很快

tyarn 即是对应的淘宝镜像源

npm i yarn tyarn -g

# npx

npx 会自动查找当前目录依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装。

npx create-react-app my-app
# 这条命令会临时安装 create-react-app 包,命令完成后会删掉。
  • npx --no-install:不尝试下载,这时 npx 的作用就是首先会在当前目录寻找命令,不存在则去全局中去找。
  • npx --ignore-existing:必须下载,无论本地是否存在都去下载。

# pnpm

performant npm ,意味"高性能的 npm"。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”,pnpm比传统方案(yarn, npm)安装包的速度快了两倍:

npm install -g pnpm
pnpm add package
pnpm remove package

当使用npm或者yarn时,如果你有100个项目使用了某个依赖,就会有100份依赖的副本保存在磁盘上,对于pnpm,依赖项将存储在一个内容可寻址的仓库中。

所有文件都会在存储在硬盘上的同一个位置,当多个包被安装时,所有文件都会从同一位置创建硬链接,不会占用额外的磁盘空间,允许跨项目共享同一版本依赖。

为什么推荐使用pnpm (opens new window)

最后更新时间: 7/7/2022, 6:20:47 PM