Установите менеджер пакетов 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
). Путь к файлу package.json
для чтения конфигурации packageManager.
standalone
Необязательно ( тип: boolean
, по умолчанию: false
). Если установлено значение true, будет установлен @pnpm/exe, который представляет собой пакет Node.js, что позволяет использовать pnpm
без Node.js.
Это полезно, если вы хотите использовать несовместимую пару 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, используйте action/setup-node самостоятельно.
MIT © Хоанг Ван Кхай