安裝 pnpm 套件管理器。
version
要安裝的 pnpm 版本。
當package.json
中有packageManager
欄位時可選。
否則,此欄位是必需的它支援 npm 版本控制方案,它可以是確切的版本(例如6.24.1
),或版本範圍(例如6
, 6.xx
, 6.24.x
, ^6.24.1
, *
,等),或latest
.
dest
可選儲存 pnpm 檔案的位置。
run_install
可選(預設值: null
)如果指定,請執行pnpm install
。
如果run_install
為null
或false
,pnpm 將不會安裝任何 npm 軟體套件。
如果run_install
為true
,pnpm 將遞歸安裝依賴項。
如果run_install
是物件或陣列的 YAML 字串表示形式,則 pnpm 將執行每個安裝命令。
run_install.recursive
可選(類型: boolean
,預設: false
)是否使用pnpm recursive install
。
run_install.cwd
可選(類型: string
)運行pnpm [recursive] install
時的工作目錄。
run_install.args
可選(類型: string[]
) pnpm [recursive] install
之後的附加參數,例如[--frozen-lockfile, --strict-peer-dependencies]
。
package_json_file
可選(類型: string
,預設值: package.json
)用於讀取「packageManager」配置的package.json
的檔案路徑。
standalone
可選(類型: boolean
,預設值: false
)當設定為 true 時,將安裝 @pnpm/exe(Node.js 套裝),因此可以在沒有 Node.js 的情況下使用pnpm
。
當您想要使用一對不相容的 Node.js 和 pnpm 時,這非常有用。
dest
輸入的擴充路徑#dest。
bin_dest
pnpm
和pnpx
指令的位置。
on :
- push
- pull_request
jobs :
install :
runs-on : ubuntu-latest
steps :
- uses : pnpm/action-setup@v2
with :
version : 8
on :
- push
- pull_request
jobs :
install :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- uses : pnpm/action-setup@v2
with :
version : 8
run_install : |
- recursive: true
args: [--frozen-lockfile, --strict-peer-dependencies]
- args: [--global, gulp, prettier, typescript]
on :
- push
- pull_request
jobs :
cache-and-install :
runs-on : ubuntu-latest
steps :
- name : Checkout
uses : actions/checkout@v3
- name : Install Node.js
uses : actions/setup-node@v3
with :
node-version : 16
- uses : pnpm/action-setup@v2
name : Install pnpm
with :
version : 7
run_install : false
- name : Get pnpm store directory
shell : bash
run : |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses : actions/cache@v3
name : Setup pnpm cache
with :
path : ${{ env.STORE_PATH }}
key : ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys : |
${{ runner.os }}-pnpm-store-
- name : Install dependencies
run : pnpm install
注意:最後不需要執行pnpm store prune
; post-action 已經解決了這個問題。
此操作不會為您設定 Node.js,請自行使用 actions/setup-node。
麻省理工學院 © Hoàng Văn Khải