Base sandbox build broken: NodeSource yanked pinned Node.js 22.22.1 package
還沒有人認領這個 Issue。
評估
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 新手友好度
- 68/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- docker, github-actions, node.js
- 領域
- build-system, ci-cd, devops
研究方向
Start with sandboxes/base/Dockerfile at line 61 and the Build Sandbox Images workflow, then reproduce the failed build to confirm the unavailable NodeSource pin. Compare the proposed installation approaches and verify that the chosen approach builds the base sandbox image successfully without depending on the missing package version.
由索引模型根據 Issue 內容生成。
描述
Summary
The Build Sandbox Images workflow is failing because NodeSource removed nodejs=22.22.1-1nodesource1 from their apt repository. The base sandbox Dockerfile pins this exact version at line 61, causing the Docker build to fail with:
E: Version '22.22.1-1nodesource1' for 'nodejs' was not found
Failed run: https://github.com/NVIDIA/OpenShell-Community/actions/runs/23721670468
Root Cause
NodeSource has a recurring issue where they publish patch releases to their apt repo and then remove them shortly after, keeping only the .0 release. This is documented in multiple upstream issues:
- nodesource/distributions#1931 — opened Mar 28, 2026, reports
22.22.1,22.22.2,20.20.1,20.20.2,24.14.1all missing - nodesource/distributions#1897 — same pattern observed with
22.21.1back in Nov 2025
The version 22.22.1-1nodesource1 was available when the pin was introduced in commit d5073c3 (Mar 12) and built successfully as recently as Mar 24 (run 23503799247). NodeSource yanked it between Mar 24–28.
The highest version currently available in the NodeSource repo is 22.22.0-1nodesource1.
Suggested Fix
Pinning to NodeSource apt packages is unreliable since they remove versions without notice. Consider one of:
- Install from official Node.js tarballs — download pre-built binaries directly from
https://nodejs.org/dist/which are never removed. This is the most robust option. - Pin to the latest available NodeSource version (
22.22.0-1nodesource1) as a short-term fix, accepting it will likely break again on the next patch release cycle. - Remove the version pin and just install
nodejswithout a version suffix, trading reproducibility for resilience.
Option 1 is recommended since it avoids this class of problem entirely.
- 主要語言
- Dockerfile
- 星號
- 194
- 分支
- 78
- 平均合併
- 2 小時 59 分鐘
- 30 天內合併 PR
- 1
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 85/100
-
agent:blocked agent:ready
難度 2/5 1-3 小時 新手友好度 74/100
turbot/guardrails-fn#46 · 2 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
cloudnative-pg/charts#1057 ·
維護者通常 1 天內回覆
-
[Bazel CI] ERROR: Bazel Examples (Android Firebase Cloud Messaging) fails on macOS: no such target '@@androidsdk//:aapt2_binary'可能已有人在做 @deepalak56 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 68/100
bazelbuild/examples#715 ·
-
[Bug]: Three default prefs with JSON values are never set (override.sh escapes their quotes twice)未關閉bug
難度 2/5 1-3 小時 新手友好度 78/100
Floorp-Projects/Floorp#2913 ·
維護者通常 1 天內回覆