pnpm 和 yarn 学习
谈谈前端包管理工具 npm & yarn & pnpm_pnpm cache clean-CSDN 博客
字节的一个小问题 npm 和 yarn 不一样吗? - 掘金 (juejin.cn)
yarn
简介
- yarn 是 Facebook 于 2016 年 发布的替代 npm 的包管理工具,还可以作为项目管理工具,定位是快速、可靠、安全的依赖管理工具。
- yarn 生成 yarn.lock 文件用于确定 repos 的精确版本,并且比 npm 性能更好
相关地址
常用命令:yarn add/install/remove
中文文档地址:
使用教程:一文全面了解 pnpm、yarn、cnpm、npx、npm 的使用(强烈建议收藏)-腾讯云开发者社区-腾讯云 (tencent.com)
1.全局安装 yarn
npm install yarn -g
2.在项目的根目录设置需要的 yarn 版本
版本设置
yarn set version latest # 最新版
yarn set version canary # 最新的经典版
yarn set version classic # 最新的经典版
yarn set version 3.x
设置命令
yarn set version [version]
3.使用 Yarn,在每个项目我们可以使用不同的版本
pnpm
简介
- pnpm 是 2017 年发布的一款替代 npm 包管理工具,具有速度快、节省磁盘空间的特点
- pnpm 具有 yarn 相对于 npm 的所有附加功能,并解决了 yarn 没有解决的磁盘空间问题
相关网址
中文文档地址:
1.pnpm 全局安装
npm install pnpm -g
安装在指定目录
npm install -g pnpm --prefix "C:\Program Files\nodejs"
更改缓存目录
某个项目中命令设置当前项目依赖的缓存目录:
pnpm install --store-dir "D:\node\.pnpm-store"
全局设置下载过的依赖缓存目录:
如果想让所有项目都使用同一个 pnpm 缓存目录,可以配置 pnpm 的全局配置文件。
可以通过创建一个 .pnpmrc
文件并在其中指定缓存目录来实现这一点。在这个文件中,可以设置 pnpm 的全局选项,包括存储目录。
以下是如何配置 .pnpmrc
文件来指定全局缓存目录的步骤:
打开文本编辑器:打开一个文本编辑器,如记事本。
创建
.pnpmrc
文件:在文本编辑器中创建一个新的文件,并将其命名为.pnpmrc
。请确保文件名以点开头,这样它就会被视为隐藏文件。指定存储目录:在
.pnpmrc
文件中添加以下内容:bashstore-dir = "D:\\node\\.pnpm-store"
这将会告诉 pnpm 使用
D:\node\.pnpm-store
目录作为全局缓存目录。保存文件:保存
.pnpmrc
文件,并将其放置在你希望 pnpm 从中读取配置的位置。通常,你可以将它放置在用户的主目录下(如C:\Users\userHu
)或者系统的根目录下。
一旦配置了全局 .pnpmrc
文件,pnpm 将会在安装依赖时使用指定的缓存目录,而不是默认的全局缓存目录。请确保在执行 pnpm 命令时,你处于包含 .pnpmrc
文件的目录中,或者 pnpm 将会在其父目录中查找该文件。
2.pnpm 其他和 npm 使用方法一致
npm 、yarn 和 pnpm 常用命令
npm init| yarn init| pnpm init # 初始化命令
npm run| yarn run/yarn | pnpm # 运行脚本
npm publish| yarn publish: 发布包
npm cache clean| yarn cache clean # 清除缓存
npm install| yarn | pnpm install/i # 安装所有依赖
npm install [package]| yarn add [package]| pnpm add [package] # 安装某个依赖项
npm install --save-dev/-D [package]| yarn add --dev/-D [package]| | pnpm add --dev/-D [package] # 安装开发依赖
npm uninstall [package]| yarn remove [package]| pnpm remove/rm [package] # 卸载依赖
npm update| yarn upgrade| pnpm update/up # 更新全部依赖
npm update [package]| yarn upgrade [package]| pnpm update/up [package]| # 更新某个依赖
清理缓存
yarn cache clean
npm cache clean -f
pnpm store prune
yarn 可以交互式地升级依赖包的命令
yarn upgrade-interactive --latest
npm 升级依赖包:会根据 package.json 中指定的范围更新依赖包的最新版本,并同步更新 package-lock.json 文件中对应的包的版本。如果不带参数,将更新所有依赖包。如果带上 --latest 参数,将更新所有依赖包到最新的稳定版本,可能会跨越主要版本号
npm update [packageName]
npm 全局的升级依赖包:一个全局安装的依赖包,它可以检查和更新 package.json 文件中可更新的依赖包,但不会更新 package-lock.json 文件中对应的包的版本。您需要使用 ncu -u [packageName] 命令来更新指定的包,或者不带参数来更新所有的包。然后,您需要重新安装依赖包,可以使用 rm -rf package-lock.json && npm i 命令
npm-check-updates
也是一个全局安装的依赖包,它可以查看可更新的包信息,并让您选择并更新相应的依赖包。您可以使用 npm-check -u 命令来交互式地更新依赖包。和 npm-check-updates 一样,您也需要重新安装依赖包
npm-check
pnpm 升级依赖包:会根据指定的范围更新依赖包的最新版本。在不带参数的情况下使用时,将更新所有依赖包。如果带上 --latest 参数,将更新所有依赖包到最新的稳定版本,可能会跨越主要版本号
pnpm update [packageName]
pnpm 全局升级依赖包是一个全局安装的依赖包,它可以检查和更新 package.json 文件中可更新的依赖包,但不会更新 pnpm-lock.yaml 文件中对应的包的版本。更新指定的包,或者不带参数来更新所有的包。
pcu -u [packageName]
然后,需要重新安装依赖包,可以使用 rm -rf pnpm-lock.yaml && pnpm i
命令
pnpm-check-updates
配置全局安装路径:
pnpm config set store-dir D:\node\pnpm\global
配置全局缓存路径:
pnpm config set cache-dir D:\node\pnpm\cache
设置成淘宝镜像
npm config set registry https://registry.npm.taobao.org
恢复成原始镜像
npm config set registry https://registry.npmjs.org
查看当前 npm 镜像源
npm config get registry
卸载 pnpm
npm rm -g pnpm
参考:https://juejin.cn/post/7158295493812944904
pnpm 安装指定版本依赖:
pnpm add @tauri-apps/cli 1.5.8
pnpm 设置目录:
1.获取 pnpm 的缓存目录:存放临时文件
pnpm config get cache-dir
2.获取 pnpm 的存储目录:是用于存放所有下载的包的内容可寻址存储
pnpm config get store-dir
3.获取 pnpm 全局二进制目录:用于存放全局安装的包的可执行文件的
pnpm config get global-bin-dir
4.获取 pnpm 的全局目录:用于存放全局安装的包的依赖和元数据的
pnpm config get global-dir
设置目录
pnpm config set global-dir "D:\node\.pnpm-store\global"
pnpm config set global-bin-dir "D:\node\.pnpm-store"
pnpm config set cache-dir "D:\node\.pnpm-store\cache"
pnpm config set state-dir "D:\node\.pnpm-store\state"
pnpm config get cache-dir
pnpm config get store-dir
pnpm config get global-bin-dir
pnpm config get global-dir
查看源:pnpm config get registry
切换源:pnpm config set registry [淘宝源或其他源地址]
删除npm或yarn生成的node_modules:rm -rf node_modules
pnpm 设置下载镜像:
镜像站:https://npmmirror.com/
查看源
pnpm get registry
临时修改
pnpm --registry https://registry.npmmirror.com install axios
持久使用
pnpm config set registry https://registry.npmmirror.com
还原
pnpm config set registry https://registry.npmjs.org
镜像源相关
cnpm 淘宝源
安装命令
npm install -g cnpm --registry=https://registry.npm.taobao.org