Release:https://github.com/pnpm/pnpm/releases/tag/v7.0.0
// package.json
{
"scripts": {
"build": "tsc",
// v6
"dev": "pnpm build -- --watch"
// v7
"dev": "pnpm build --watch"
}
}
pnpm install -g pkg 不再默认注册到 bin(环境变量)中。跑一下 pnpm setup 即可,pnpm 会自动把环境变量和目录追加到 ~/.zshrc 的尾部。
export PNPM_HOME="/Users/username/Library/pnpm"
export PATH="$PNPM_HOME:$PATH"
pnpm init -y 变成 pnpm init -- -y
monorepo 不能在 submodule (workspace) 里 init 了
monorepo 场景下,比如创建一个 packages/app 项目,此时 package/app 里面是空的,需要先把 package.json 创建出来,所以我们需要用 pnpm init -y ,现在无论如何都不能被 pnpm init 出来:pnpm init -- -y 也无法生效,必须使用 npm init -y ,以后忘掉 pnpm init 即可。
package.json 里限制一下 pnpm 版本,限制 v6 用户
// package.json
{
"engines": {
"node": ">=14",
"pnpm": ">=7.0.0"
},
"packageManager": "[email protected]"
}
不支持 Node.js 12
pnpm -r exec|run|add 递归执行命令时,默认不执行根目录项目的命令(例如 monorepo 内不会执行根目录)
filter 操作使用 globs 语法