pnpm(未完)


https://pnpm.io/zh/installation

安装

npm install -g pnpm

升级

pnpm add -g pnpm

故障排查

  • which pnpm来找到 pnpm 的位置

pnpm CLI

与 npm 的差别

  • 与 npm 不同的是,pnpm 会校验所有的参数。
    • 设置明确的环境变量:npm_config_foo=true pnpm install
    • 用 --config.强制使用未知选项: pnpm install --config.foo

配置项

  • -C , --dir <path> 在 <path> 中启动 pnpm ,而不是当前的工作目录。
  • -w, --workspace-root 在工作空间的根目录中启动 pnpm ,而不是当前的工作目录。

命令行

  • npm install => pnpm install
  • npm i => pnpm add
  • npm run => pnpm
    • 当你使用一个未知命令时, pnpm 会查找一个具有指定名称的脚本, 所以 pnpm run lint 和 pnpm lint相同. 如果没有指定名称的脚本,那么pnpm将以shell脚本的形式执行该命令,所以你可以做类似pnpm eslint的事情

配置

  • pnpm 使用 npm 的配置 格式
pnpm config set store-dir /path/to/.pnpm-store
  • pnpm 也允许您使用所有标记为作选项的参数(例如 --filter 或 --workspace concurrency)
workspace-concurrency = 1
filter = @my-scope/*

过滤

pnpm <command> --filter <package_selector>
  • 要选择准确的包,只需指定其名称或使用 模式来选择一组包
pnpm test --filter "@babel/core"
pnpm test --filter "@babel/*"
pnpm test --filter "*core"
  • 要选择一个软件包及其依赖项 (直接和非直接) 在包名称后加上省略号
  • 下一个命令将运行 foo 及其所有依赖的测试
pnpm test --filter foo...
  • 可以使用通配符来选择一组根目录包
pnpm test --filter "@babel/preset-*..."
  • 要只选择一个包的依赖项(直接和非直接), 在包名前添加一个山形符号加上上面提到的省略号。
pnpm test --filter "...^foo"
  • 要仅选择指定目录下的包,您可以指定任何相对路径,路径通常为 POSIX 格式。--filter ./<directory>​

  • 包括指定目录下的所有项目。也可以使用省略号与山形符号来选择依赖项与被依赖项

pnpm <cmd> --filter ...{<directory>}
pnpm <cmd> --filter {<directory>}...
pnpm <cmd> --filter ...{<directory>}...


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM