Lesstep
GitHub Actions・actions/setup-node・2026年11月3日に確認

GitHub Actions:「Unable to locate executable file: pnpm」

actions/setup-node は、pnpm のダウンロードをキャッシュするために、pnpm にストアの場所を聞きます(pnpm store path --silent)。そのジョブにはまだ pnpm が入っておらず、何もインストールしないうちにステップが失敗しました。直し方はほとんどの場合、ステップの順番か、頼んでいないキャッシュを切ることです。

見え方

Error: Unable to locate executable file: pnpm. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

setup-node のステップが始まって数秒、node・npm・yarn のバージョンを表示した直後に出ます。Windows のランナーでは、最後の文が実行ファイルの拡張子についての文になります。

1. setup-node v5 と packageManager の欄

setup-node v5.0.0(2025年9月)は、package.json に packageManager の欄があると、cache を書かなくてもキャッシュを入れました。"packageManager": "pnpm@…" なら pnpm を走らせます。v6.0.0(2025年10月)で、自動のキャッシュは npm だけになりました。

v6 以降に上げるか、v5 のまま自動のキャッシュを切ります:

- uses: actions/setup-node@v5
  with:
    node-version: 24
    package-manager-cache: false

2. cache: pnpm が、pnpm を入れる前にある

cache: pnpm を書くと、setup-node はどの版でも、その時点で PATH に pnpm がある必要があります。blog-upiscium-dev のデプロイは pnpm/action-setup より前に cache: pnpm つきの actions/setup-node を走らせていて(blog-upiscium-dev #24)、shipping-container-sims でも全部のジョブが同じように失敗しました(shipping-container-sims #83)。アクションの詳しい使い方のガイドはこの順番です:

steps:
  - uses: actions/checkout@v7
  - uses: pnpm/action-setup@v6
  - uses: actions/setup-node@v7
    with:
      node-version: 24
      cache: pnpm
  - run: pnpm install --frozen-lockfile

version を書かなければ、pnpm/action-setup は packageManager の欄から読みます。チェックアウトを先にするのはそのためです。バージョンは1か所にだけ書きます。両方にあって食い違うと「Multiple versions of pnpm specified」で止まります。

3. pnpm を Corepack で入れている

4. pnpm を別のジョブで入れた

ジョブはそれぞれ別のランナーで始まり、あるジョブで入れたものは次のジョブの PATH にはありません。tafsila で失敗したジョブには、pnpm のステップがそもそもありませんでした(上の #42)。pnpm のキャッシュつきで setup-node を走らせるジョブや pnpm を使うジョブには、それぞれ pnpm/action-setup が要ります。

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「Dependencies lock file is not found」 · 「Cache not found for input keys」 · 「Node.js 20 is deprecated」の警告 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English