netlify-cli crashes with bunx on Node.js v24: chalk v5/v4 ESM/CJS conflict
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- bun, node.js, typescript
- Lĩnh vực
- cli
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện bunx netlify-cli@latest trên Node.js v24 với Bun 1.3.9, sau đó kiểm tra cách inquirer, ora, log-symbols và chalk được resolve trong các dependency của package. So sánh các thay đổi dependency được đề xuất và xác minh rằng bunx hoàn tất mà không có lỗi chalk.blue; workaround và hành vi của pnpm cung cấp một điểm so sánh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
bunx netlify-cli@latest crashes on Node.js v24 with TypeError: chalk.blue is not a function due to a dependency resolution conflict between chalk v5 (ESM-only, direct dep) and chalk v4 (CJS, needed by transitive deps).
Root cause
netlify-cli depends on:
[email protected]directly (ESM-only)[email protected]→[email protected]→[email protected]→chalk@^4.1.0(CJS)
Bun's flat dependency resolution hoists chalk@5 globally, so log-symbols@4 gets chalk v5 instead of chalk v4. Since chalk v5 is ESM-only and log-symbols uses require('chalk'), the default export resolves incorrectly under Node.js v24's stricter CJS/ESM interop — chalk.blue is undefined.
Error trace
TypeError: chalk.blue is not a function
at Object.<anonymous> (/tmp/bunx-924-netlify-cli@latest/node_modules/log-symbols/index.js:6:14)
...
Node.js v24.13.0
error: postinstall script from "netlify-cli" exited with 1
Environment
bunx netlify-cli@latest(v24.0.1)- Node.js v24.13.0
- Bun 1.3.9
Suggested fix
Update inquirer to a version that doesn't transitively depend on chalk v4 (e.g. @inquirer/prompts which uses chalk v5 natively), or pin log-symbols to v5+ which dropped the chalk dependency.
Workaround
Use pnpm --package=netlify-cli dlx netlify instead of bunx netlify-cli, as pnpm correctly isolates conflicting dependency versions.
🤖 Filed on behalf of @schickling
- Ngôn ngữ chính
- TypeScript
- Star
- 1.9k
- Fork
- 480
- Merge trung bình
- 1 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 66
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của netlify/cli
-
db-status.test fails if the database is disabledCó thể đã có người làm @paulleephp đã nhận 1 ngày trước. Đang mởtype: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`client-ip` is not an IP address when `x-forwarded-for` holds a list or a portCó thể đã có người làm @Dev-next-gen đã nhận 21 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`netlify dev` with `--cwd` from outside the project: every function 500s with "module is not defined in ES module scope" (`detectZisiBuilder` passes a string to `readPackageUp`)Có thể đã có người làm @bsplatt92 đã nhận 62 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: command: deploy area: docs type: feature
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
netlify/cli#1984 · 19 bình luận · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
type: bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
"Contains" page watch never matches when its text has a trailing spaceCó thể đã có người làm @RaphaelFakhri đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
CopilotKit/openmuse#184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
bootstrap-vue-next/bootstrap-vue-next#3357 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[quality] tide.ts: six mutation survivors in the merge-queue gate, draft refusal, fork-403 workflow-file diagnosis and getPull's fork flag are unpinned by any testCó thể đã có người làm @hivecommons-hive đã nhận hôm nay. Đang mởagent/quality needs-kind stage/040-covered-by-pr testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
cncf/prow-github-actions#517 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Unsampled pageload span is profiled when profileLifecycle is 'trace' (browser UI profiling)Có thể đã có người làm @Jxxunnn đã nhận hôm nay. Đang mởBrowser Waiting for: Product Owner
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
getsentry/sentry-javascript#25497 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày