跳至主要內容
版本:9.x

pnpm exec

在專案範圍內執行 shell 命令。

node_modules/.bin 已新增至 PATH,因此 pnpm exec 允許執行相依性的命令。

範例

如果您的專案相依於 Jest,則無需在全球安裝 Jest,只需使用 pnpm exec 執行即可

pnpm exec jest

當指令不與內建的 pnpm 指令衝突時,exec 部分實際上是可選的,因此你也可以只執行

pnpm jest

選項

exec 指令的任何選項都應在 exec 關鍵字之前列出。exec 關鍵字之後列出的選項會傳遞給已執行的指令。

好。pnpm 將遞迴執行

pnpm -r exec jest

不好,pnpm 將不會遞迴執行,但 jest 會使用 -r 選項執行

pnpm exec jest -r

--recursive, -r

在工作區的每個專案中執行 shell 指令。

目前套件的名稱可透過環境變數 PNPM_PACKAGE_NAME 取得。

範例

為所有套件修剪 node_modules 安裝

pnpm -r exec rm -rf node_modules

檢視所有套件的套件資訊。這應與 --shell-mode (或 -c) 選項搭配使用,才能讓環境變數運作。

pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME

--resume-from <package_name>

從特定專案恢復執行。如果你使用的是大型工作區,而且你想要在特定專案重新啟動建置,而不執行在建置順序中位於其之前的專案,這會很有用。

--parallel

完全忽略並行性和拓撲排序,立即在所有符合的套件中執行給定的腳本,並加上前置串流輸出。這是針對許多套件中的長時間處理程序(例如冗長的建置程序)的首選旗標。

--shell-mode, -c

在 shell 內執行指令。在 UNIX 上使用 /bin/sh,在 Windows 上使用 \cmd.exe

--report-summary

在執行指令文件檔中閱讀此選項

--filter <package_selector>

閱讀更多關於篩選的資訊。