nodeenv falls back to /usr/bin/nodejs instead of the node installed by actions/setup-node
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- github-actions, node.js, typescript
調査の方向性
actions/setup-node@v4 workflow と、931-938行付近の nodeenv.py の lookup から始め、リンクされた GitHub Actions job で失敗する pre-commit run を再現してください。Ubuntu hosted runners でどの executable が選択されるかを追跡してください。設定された Node 16 installation が選択され、Prettier hook が成功すれば、この issue は完了です。
索引モデルが issue の本文から書いたものです。
説明
Description:
In a runs-on: ubuntu-latest GitHub hosted runner, I found that even after doing:
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 16
that pre-commit run -a was failing to run a pre-commit hook configured as:
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0
hooks:
- id: prettier
args: [--no-editorconfig]
exclude: "^asv\\.conf\\.json$"
exclude_types: [html]
with an error saying:
prettier requires at least version 14 of Node, please upgrade
Which was surprising, seeing as how we had just installed node version 16.
It turns out that pre-commit runs nodeenv, and nodeenv looks first for a binary named nodejs, and then falls back to looking for one named node:
And it seems like actions/setup-node is only installing one named node, and not one named nodejs, so nodeenv found /usr/bin/nodejs first and preferred that over /opt/hostedtoolcache/node/16.20.2/x64/bin/node.
Should the hostedtoolcache contain a nodejs as well? Or perhaps nodeenv should prefer node over nodejs?
Action version:
actions/setup-node@v4
Platform:
- Ubuntu
- macOS
- Windows
Runner type:
- Hosted
- Self-hosted
Tools version:
Repro steps:
See https://github.com/bloomberg/memray/actions/runs/6984525297/job/19007471664 for a failed run where /usr/bin/nodejs was chosen instead of /opt/hostedtoolcache/node/16.20.2/x64/bin/node
- 主要言語
- TypeScript
- スター
- 5k
- フォーク
- 1.7k
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 3
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
actions/setup-node のほかの issue
-
feature request
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
actions/setup-node#1531 · コメント 1 件 · リアクション 4 件 ·
-
feature request
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
actions/setup-node#1634 · コメント 1 件 ·
-
actions/setup-node#1628 · コメント 3 件 · 担当者 1 名 ·
-
`npm config get cache` fails with `EBADDEVENGINES` when requiring newer npm versions in `devEngines` オープンfeature request
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
actions/setup-node#1553 · コメント 12 件 · リアクション 2 件 ·
-
feature request
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
actions/setup-node#1428 · コメント 1 件 · リアクション 3 件 ·
actions/setup-node の issue をすべて見る
似ている issue
-
blocklist removal
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MetaMask/eth-phishing-detect#296544 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
pastelsky/bundlephobia#1122 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100