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
。