pnpm 相关
# pnpm 相关
# 介绍
pnpm 代表
performant npm(高性能的npm)
,同npm
和Yarn
,都属于Javascript
包管理安装工具
它较npm
和Yarn
在性能上得到很大提升,被称为快速的,节省磁盘空间
的包管理工具
当使用 npm 或 Yarn 时,如果你有 100 个项目使用了某个依赖(dependency),就会有 100 份该依赖的副本保存在硬盘上,而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中,所以:
- 如果你用到了某依赖项的不同版本,只会将不同版本间有差异的文件添加到仓库。 例如,如果某个包有100个文件,而它的新版本只改变了其中1个文件。那么 pnpm update 时只会向存储中心额外添加1个新文件,而不会因为仅仅一个文件的改变复制整新版本包的内容。
- 所有文件都会存储在硬盘上的某一位置。 当软件包被安装时,包里的文件会硬链接到这一位置上对应的文件,而不会占用额外的磁盘空间。 这允许你跨项目地共享同一版本的依赖。
因此,您在磁盘上节省了大量空间,这与项目和依赖项的数量成正比,并且安装速度要快得多!
# 安装使用
可以在官网查看其他安装方式 (opens new window)
# 通过npm安装
npm install -g pnpm
# 通过下述命令查看已安装的pnpm的版本
pnpm -v
# 初始化,生成package.json文件
pnpm init
# 安装依赖
pnpm install xxx
# 运行package.json中定义的scripts脚本,启动服务即可
pnpm run xxx
# 创建项目
示例:创建一个vue3项目
通过pnpm create使用vite套件新建一个vue3的项目,直达vue官方链接 (opens new window)
# 使用pnpm create 启动套件(vite,只有存在的套件才可以)创建模板项目
pnpm create vite projectName -- --template vue
cd projectName
pnpm install
pnpm dev
通过上述操作,我们学到了pnpm项目的初始化、安装依赖、启动服务等,可以运行起来,感受一下它和npm运行速度的差异。
# 常用命令
# 设置源
查看源:
pnpm config get registry
切换源:
pnpm config set registry <淘宝源或其他源地址>
# 初始化
初始化package.json:
pnpm init
pnpm init -y
注意:pnpm init只能一键快速生成package.json文件,如果要一步一步填写每个属性的值生成package.json文件,则需要通过npm init生成,
如果要一键快速生成,需要增加-y参数npm init -y来生成。
# 管理依赖
安装依赖包到 dependencies:
pnpm add <pkg>
安装依赖包到devDependencies:
pnpm add -D <pkg>
安装依赖包到optionalDependencies:
pnpm add -O <pkg>
全局安装依赖包:
pnpm add -g xxx
安装项目全部依赖:
pnpm install
pnpm i
更新依赖包:
pnpm update
pnpm up
删除依赖包:
pnpm remove
pnpm rm/uninstall/un
# 查看依赖
查看本地安装的依赖:
pnpm list
pnpm ls
查看全局安装的依赖:
pnpm list --global
pnpm ls --g
检查过期的依赖:
pnpm outdated
# 运行脚本
运行自定义脚本:
pnpm run xxx
pnpm xxx
运行test测试脚本:
pnpm test
启动套件创建项目:
pnpm create
运行start启动命令:
pnpm start
# 发布依赖包
pnpm publish
# 管理node环境
可实现nvm、n等node版本管理工具,安装并切换node.js版本的功能。
本地安装并使用:
pnpm env use <node版本号>
全局安装并使用:
pnpm env use --global <node版本号>