github / github/local-action

[Bug] `devEngines.packageManager` set to pnpm in `package.json` prevents local-action from running `npm exec tsx`

オープン
#293 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
451
フォーク
28
PR マージ指標
30日以内にマージされた PR はありません

説明

I'm using `pnpm` as the package manager. However, with the following `package.json` settings, local-action failed to start when running `pnpm run local-action`.

```json
{
"name": "github-action",
"version": "1.0.0",
"description": "",
"keywords": [],
"license": "MIT",
"author": "",
"type": "module",
"scripts": {
"local-action": "local-action . src/main.ts .env",
},
"devDependencies": {
"@github/local-action": "^7.0.1"
},
"devEngines": {
"packageManager": {
"name": "pnpm",
"version": "^11.5.2",
"onFail": "download"
}
}
}
```

Below is the error log:

```
npm error code EBADDEVENGINES
npm error EBADDEVENGINES The developer of this package has specified the following through devEngines
npm error EBADDEVENGINES Invalid devEngines.packageManager
npm error EBADDEVENGINES Invalid name "pnpm" does not match "npm" for "packageManager"
npm error EBADDEVENGINES {
npm error EBADDEVENGINES current: { name: 'npm', version: '11.13.0' },
npm error EBADDEVENGINES required: { name: 'pnpm', version: '^11.5.2', onFail: 'download' }
npm error EBADDEVENGINES }
npm error A complete log of this run can be found in: //.npm/_logs/2026-06-11T14_13_09_439Z-debug-0.log

Error: Command failed: npm exec tsx "/node_modules/.pnpm/@github+local-action@7.0.1/node_modules/@github/local-action/src/index.ts" -- . src/main.ts .env
at genericNodeError (node:internal/errors:985:15)
at wrappedFn (node:internal/errors:539:14)
at checkExecSyncError (node:child_process:925:11)
at execSync (node:child_process:997:15)
at entrypoint (file:///node_modules/.pnpm/@github+local-action@7.0.1/node_modules/@github/local-action/bin/local-action.js:108:5)
at file:///node_modules/.pnpm/@github+local-action@7.0.1/node_modules/@github/local-action/bin/local-action.js:121:1
at ModuleJob.run (node:internal/modules/esm/module_job:439:25)
at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:633:26)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5) {
status: 1,
signal: null,
output: [ null, null, null ],
pid: 70918,
stdout: null,
stderr: null
}
[ELIFECYCLE] Command failed with exit code 1.
```

It seems that setting `devEngines.packageManager` set to pnpm in `package.json` prevents local-action from running `npm exec tsx "/node_modules/.pnpm/@github+local-action@7.0.1/node_modules/@github/local-action/src/index.ts" -- . src/main.ts .env`.

Consider running `tsx` without relying on package manager by adding `tsx` as dependency. This makes local-action independent from package managers.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

package.json の再現と local-action コマンドから始め、次に npm exec の呼び出し付近のスタックトレースに示されている local-action.js エントリポイントを調べます。pnpm と devEngines.packageManager を pnpm に設定して失敗を再現します。pnpm run local-action が EBADDEVENGINES エラーなしで正常に開始すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
node.js, typescript
領域
developer-experience, tooling
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。