Support for Android / Termux (`process.platform === 'android' `)
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- Dưới một giờ
- Mức phù hợp với người mới
- 82/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- android, nodejs, typescript
- Lĩnh vực
- cli, operating-systems
Hướng nghiên cứu
Lỗi crash đến từ bảng ánh xạ nền tảng OSService và hàm trợ giúp getOS cung cấp dữ liệu cho bảng đó, mà báo cáo xác định nằm trong mã nguồn đã công bố ở v0.12.2. Bắt đầu bằng việc tìm nơi getOS được định nghĩa và cách bảng ánh xạ được truy cập theo khóa, sau đó kiểm tra những khóa nào tồn tại cho android. Hoàn thành khi process.platform đặt là android trả về một service mà không gặp lỗi is not a constructor, bạn có thể xác nhận điều này bằng một unit test nhỏ giả lập (stub) process.platform.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
When running npkill on Termux (Android), it crashes immediately with:
TypeError: OSService[getOS(...)] is not a constructor
Root cause
Node.js on Termux reports process.platform === 'android'.
In the published package (v0.12.2) the platform map only contains:
const OSService = {
linux: LinuxFilesService,
win32: WindowsFilesService,
darwin: MacFilesService,
};
So OSService['android'] is undefined.
Suggested fix
Treat Android the same as Linux (it is Linux under the hood and the existing LinuxFilesService works correctly after the patch).
Minimal patch (works on current published version):
// before
const getOS = () => process.platform;
// after
const getOS = () =>
process.platform === 'android' ? 'linux' : process.platform;
Alternatively, just add the key:
const OSService = {
linux: LinuxFilesService,
android: LinuxFilesService, // ← add this
win32: WindowsFilesService,
darwin: MacFilesService,
};
Environment
- Termux on Android
- Node.js v24.x (also reproduces on earlier versions)
- npkill 0.12.2
Additional context
After applying the one-line change above, npkill starts and works normally on Termux.
NB. Grok xAI found the line and wrote the above.
Proof that works:
----- __ .__.__ .__
- ____ ______ | | _|__| | | |
------ / \\____ \| |/ / | | | | Releasable space: 0.00 GB
---- | | \ |_> > <| | |_| |__ Space saved: 0.00 GB
-- |___| / __/|__|_ \__|____/____/ Search completed 0.36s
------- \/|__| \/ 0.12.2
CURSORS for select - SPACE to delete Last_mod Size
on Termux above
- Ngôn ngữ chính
- TypeScript
- Star
- 9.5k
- Fork
- 257
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không 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 voidcosmos/npkill
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
voidcosmos/npkill#263 ·
-
Invalid count valueĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
voidcosmos/npkill#258 ·
-
delete by --older-than flagCó thể đã có người làm @Shreyakb301 đã nhận 15 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 64/100
voidcosmos/npkill#257 · 1 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
voidcosmos/npkill#220 · 1 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 38/100
voidcosmos/npkill#199 · 1 bình luận · 1 reaction ·
Tất cả issue của voidcosmos/npkill
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ranxianglei/billion-context#3583 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug:new
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
callstackincubator/simlock#673 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation v3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
anomalyco/opencode#56380 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày