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