Installez le gestionnaire de packages NPPM.
version
Version de pnpm à installer.
Facultatif lorsqu'il existe un champ packageManager
dans package.json
.
sinon, ce champ est obligatoire. Il prend en charge le schéma de version npm, il peut s'agir d'une version exacte (telle que 6.24.1
) ou d'une plage de versions (telle que 6
, 6.xx
, 6.24.x
, ^6.24.1
, *
, etc.), ou latest
.
dest
Facultatif Où stocker les fichiers pnpm.
run_install
Facultatif ( par défaut : null
) Si spécifié, exécutez pnpm install
.
Si run_install
est null
ou false
, pnpm n'installera aucun package npm.
Si run_install
est true
, pnpm installera les dépendances de manière récursive.
Si run_install
est une représentation sous forme de chaîne YAML d'un objet ou d'un tableau, pnpm exécutera toutes les commandes d'installation.
run_install.recursive
Facultatif ( type : boolean
, par défaut : false
) Indique s'il faut utiliser pnpm recursive install
.
run_install.cwd
Facultatif ( tapez : string
) Répertoire de travail lors de l'exécution pnpm [recursive] install
.
run_install.args
Facultatif ( type: string[]
) Arguments supplémentaires après pnpm [recursive] install
, par exemple [--frozen-lockfile, --strict-peer-dependencies]
.
package_json_file
Facultatif ( type : string
, par défaut : package.json
) Chemin d'accès au fichier package.json
pour lire la configuration « packageManager ».
standalone
Facultatif ( type : boolean
, par défaut : false
) Lorsqu'il est défini sur true, @pnpm/exe, qui est un package fourni avec Node.js, sera installé, permettant l'utilisation de pnpm
sans Node.js.
Ceci est utile lorsque vous souhaitez utiliser une paire incompatible de Node.js et pnpm.
dest
Chemin d'entrée étendu #dest.
bin_dest
Emplacement des commandes pnpm
et 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
Remarque : vous n'avez pas besoin d'exécuter pnpm store prune
à la fin ; post-action s'en est déjà occupé.
Cette action ne configure pas Node.js pour vous, utilisez vous-même actions/setup-node.
MIT © Hoàng Văn Khải