The v2 version of this action has stopped working with newer Node.js versions. Please, upgrade to the latest version to fix any issues.
Install pnpm package manager.
Version of pnpm to install.
Optional when there is a packageManager
field in the package.json
.
otherwise, this field is required It supports npm versioning scheme, it could be an exact version (such as 6.24.1
), or a version range (such as 6
, 6.x.x
, 6.24.x
, ^6.24.1
, *
, etc.), or latest
.
Optional Where to store pnpm files.
Optional (default: null
) If specified, run pnpm install
.
If run_install
is either null
or false
, pnpm will not install any npm package.
If run_install
is true
, pnpm will install dependencies recursively.
If run_install
is a YAML string representation of either an object or an array, pnpm will execute every install commands.
Optional (type: boolean
, default: false
) Whether to use pnpm recursive install
.
Optional (type: string
) Working directory when run pnpm [recursive] install
.
Optional (type: string[]
) Additional arguments after pnpm [recursive] install
, e.g. [--frozen-lockfile, --strict-peer-dependencies]
.
Optional (type: string
, default: package.json
) File path to the package.json
to read "packageManager" configuration.
Optional (type: boolean
, default: false
) When set to true, @pnpm/exe, which is a Node.js bundled package, will be installed, enabling using pnpm
without Node.js.
This is useful when you want to use a incompatible pair of Node.js and pnpm.
Expanded path of inputs#dest.
Location of pnpm
and pnpx
command.
This works when the repo either doesn't have a package.json
or has a package.json
but it doesn't specify packageManager
.
on:
- push
- pull_request
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: pnpm/action-setup@v4
with:
version: 9
Omit version
input to use the version in the packageManager
field in the package.json
.
on:
- push
- pull_request
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: pnpm/action-setup@v4
on:
- push
- pull_request
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
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@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install
Note: You don't need to run pnpm store prune
at the end; post-action has already taken care of that.
This action does not setup Node.js for you, use actions/setup-node yourself.