其他 js 包管理器
其他 js 包管理器
cnpm 淘宝 npm 镜像
由于 npm 默认镜像源 https://registry.npmjs.org
使用的是国外的服务器,在国内通过其下载 npm 依赖时,下载速度会比较缓慢,故而就出现了淘宝源之类的镜像源,以便开发者快速下载 npm 依赖,而 cnpm 就是将最新的淘宝源作为下载源的一款工具包,cnpm 可以使用和 npm 几乎一样的命令。
注意:淘宝源是每隔一段时间,才会和 npm 默认镜像源 https://registry.npmjs.org
同步一次,同步时间一般为几分钟左右,并不是实时同步的。
什么是 cnpm?
这是一个完整 npmjs.com 镜像,你可以用此代替官方版本 (只读),我们将尽量与官方服务实时同步。
安装 cnpm
由于国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本 (只读),同步频率目前为 10 分钟 一次以保证尽量与官方服务同步。
可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
1
2
3
npm install -g cnpm --registry=https://registry.npm.taobao.org # 过时了
# // 或者
npm install -g cnpm --registry=https://registry.npmmirror.com
然后使用 cnpm install
命令来安装模块,速度就很快了。
cnpm 替换到 npm 即可
npm 配置淘宝镜像
用 npm 也可以使用淘宝镜像,配置的方式有两种:
- 直接配置:执行如下命令即可完成配置:
1
2
3
4
# 设置 npm 默认镜像源为淘宝源
npm config set registry https://registry.npmmirror.com
# 通过下面的命令可以查看 npm 当前使用的镜像源
npm config get registry
- 配置 alias:添加 npm 参数 alias 一个新命令
1
alias cnpm="npm --registry=https://registry.npmmirror.com --cache=$HOME/.npm/.cache/cnpm --disturl=https://npmmirror.com/mirrors/node --userconfig=$HOME/.cnpmrc"
虽然 cnpm 可以提高速度,但是 npm 也可以通过淘宝镜像进行加速,所以 npm 的使用率还是高于 cnpm
cnpm 命令
安装模块:
1
cnpm install [name]
同步模块:
1
cnpm sync cnpmcore
发布 npm 包
注意: 如果需要将项目发布到 npm 仓库中,那么需要将 npm 的镜像源重置为默认镜像源,即 https://registry.npmjs.org
,否则将无法登录 npm 账户,无法发布项目到 npm 仓库。
1
2
3
4
5
6
7
8
9
# 重置 npm 镜像源
npm config set registry https://registry.npmjs.org
# 登录 npm 仓库帐号
npm login
# 发布当前项目
# 注意:package.json 中的 private 不能设置为 true,否则该项目为私有项目,不能发布到 npm 仓库
npm publish
其他 npm 镜像
- 腾讯云镜像
https://mirrors.cloud.tencent.com/help/npm.html
pnpm
Fast, disk space efficient package manager | pnpm
pnpm 简介
使用 npm 时,依赖每次被不同的项目使用,都会重复安装一次。 而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中,所以:
- 如果你用到了某依赖项的不同版本,只会将不同版本间有差异的文件添加到仓库。例如,如果某个包有 100 个文件,而它的新版本只改变了其中 1 个文件。那么
pnpm update
时只会向存储中心额外添加 1 个新文件,而不会因为仅仅一个文件的改变复制整新版本包的内容。 - 所有文件都会存储在硬盘上的某一位置。当软件包被被安装时,包里的文件会硬链接到这一位置,而不会占用额外的磁盘空间。这允许你跨项目地共享同一版本的依赖。 因此,您在磁盘上节省了大量空间,这与项目和依赖项的数量成正比,并且安装速度要快得多。
相对 npm 优势 2 点:
- 节省磁盘空间
- 提高安装速度
pnpm 安装
https://pnpm.io/zh/installation
1
npm install -g pnpm
pnpm 常用命令
pnpm add
安装软件包及其依赖的任何软件包。默认情况下,任何新软件包都安装为 生产依赖项
。
命令 | 说明 |
---|---|
pnpm add sax | 保存到 dependencies |
pnpm add -D sax | 保存到 devDependencies |
pnpm add -O sax | 保存到 optionalDependencies |
pnpm add -g sax | Install package globally |
pnpm add sax@next | 从 next 标签下安装 |
pnpm add sax@3.0.0 | 安装指定版本 3.0.0 |
pnpm install
用于安装项目所有依赖,别名: i
pnpm update
根据指定的范围更新软件包的最新版本。 在不带参数的情况下使用时,将更新所有依赖关系。
命令 | 说明 |
---|---|
pnpm up | 遵循 package.json 指定的范围更新所有的依赖项 |
pnpm up --latest | 更新所有依赖项,此操作会忽略 package.json 指定的范围 |
pnpm up foo@2 | 将 foo 更新到 v2 上的最新版本 |
pnpm up "@babel/*" | 更新 @babel 范围内的所有依赖项 |
pnpm remove
别名: rm
, uninstall
, un
从 node_modules
和项目的 package.json
中删除相关 packages
。
pnpm list
此命令会以一个树形结构输出所有的已安装 package
的版本及其依赖。如果位置参数是 name-pattern@version-range
标识符,会将输出限制为仅为这样命名的包。例如,pnpm list "babel-*" "eslint-*" semver@5
。
pnpm config
管理配置文件
1
2
3
4
5
6
7
8
9
10
pnpm config list
# 查看当前镜像源
pnpm config get registry
# 设置全局镜像源
pnpm config set registry https://registry.npmmirror.com
# 设置项目临时镜像源
npm install --registry https://registry.npmmirror.com
常用镜像列表:
分类 | 地址 |
---|---|
npm 官方 | https://registry.npmjs.org/ |
yarn 官方 | https://registry.yarnpkg.com |
淘宝 | https://registry.npmmirror.com |
pnpm 和 npm 相比
- 体验优良,依赖安装速度极快,占用磁盘空间小。
- 上手简单,绝大部分
npm
/yarn
项目可以低成本完成迁移,官方也有较详尽的中文文档。 pnpm
组织node_modules
目录的方式兼容原生 Node,与打包工具配合良好,可以放心应用于生产环境。pnpm
依赖访问虽然严格,但是规则清晰,界限分明后,不再如以前一样容易出现依赖冲突,反而降低了使用时的心智负担,纠正了我之前的一些错误认知。
其他 js 包管理器
yarn
yarn 简介
yarn 是由 Facebook 在 2016 年推出的新的 Javascript 包管理工具,官方网址:https://yarnpkg.com/。
yarn 特点:
- 速度超快:yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,因此安装速度更快。
- 超级安全:在执行代码之前,yarn 会通过算法校验每个安装包的完整性
- 超级可靠:使用详细、简洁的锁文件格式和明确的安装算法,yarn 能够保证在不同系统上无差异的工作
yarn 安装
1
2
npm install --global yarn
yarn --version
yarn 使用
- yarn 是用
yarn add
代替npm install
yarn remove
代替npm uninstall
安装依赖模块:
1
2
3
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
删除依赖模块:
1
yarn remove [package]
更新依赖模块:
1
2
3
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
配置源:
1
2
3
4
5
6
7
8
# 查看镜像源
yarn config get registry
# 绑定镜像源
yarn config set registry https://registry.npmmirror.com
# 删除镜像源(注意这里是 delete)
yarn config delete registry
- yarn 默认的源地址:https://registry.yarnpkg.com ,如果下载太慢,可以修改源
nvm
nvm 全称 Node Version Manager
顾名思义它是用来管理 Node 版本的工具,方便切换不同版本的 Node.js。
nvm 的使用非常的简单,跟 npm 的使用方法类似。
下载地址 https://github.com/coreybutler/nvm-windows/releases
常用命令:
命令 | 说明 |
---|---|
nvm list available | 显示所有可以下载的 Node.js 版本 |
nvm list | 显示已安装的版本 |
nvm install 18.12.1 | 安装 18.12.1 版本的 Node.js |
nvm install latest | 安装最新版的 Node.js |
nvm uninstall 18.12.1 | 删除某个版本的 Node.js |
nvm use 18.12.1 | 切换 18.12.1 的 Node.js |