- pnpm.peerDependencyRules.ignoreMissing
pnpm 不会打印有关依赖列表中缺少对 peerDependency 的警告。
例如,使用以下配置,如果依赖项需要 react 但未安装 react,pnpm 不会打印相应警告。
{
"pnpm": {
"peerDependencyRules": {
"ignoreMissing": ["react"]
}
}
}
- 全局的公共依赖包,比如打包涉及到的 rollup、typescript 等 pnpm 提供了 -w, --workspace-root 参数,可以将依赖包安装到工程的根目录下,作为所有 package 的公共依赖。
pnpm install react -w
- 给某个 package 单独安装指定依赖
pnpm add axios --filter @chendap/theme
- 只允许 pnpm 当在项目中使用 pnpm 时,如果不希望用户使用 yarn 或者 npm 安装依赖,可以将下面的这个 preinstall 脚本添加到工程根目录下的 package.json 中:
"preinstall": "npx only-allow pnpm"
- 添加依赖
pnpm i axios -C packages/packageA #包路径为packages/packageA的包添加axios
pnpm i axios --filter packageName #给包名(package.json中那name字段)为packageName的包添加axios依赖
pnpm i axios -w #将axios安装到根目录
如果是本地的包相互依赖,可以使用 workspace 协议安装,例如包 pkg1 依赖本地的 pkg2
pnpm i @chendap@pkg2 --filter pkg1
tsc --init // 生成tsconfig.json