在 Termux 环境中安装 astro
关于 Astro 在 Termux (Android arm64 EL) 上的支持情况
如果我尝试在 Termux 中运行 npm install astro,会产生以下报错。
➜ algosul-blog git:(main) npm install astro
npm warn deprecated wrangler@4.56.0: Version 4.55.0 and 4.56.0 can
incorrectly automatically delegate 'wrangler deploy' to 'opennextjs
-cloudflare'. Use an older or newer version.
npm error code 1
npm error path /data/data/com.termux/files/home/workspace/algosul-b
log/node_modules/workerd
npm error command failed
npm error command sh -c node install.js
npm error /data/data/com.termux/files/home/workspace/algosul-blog/n
ode_modules/workerd/install.js:43
npm error throw new Error(`Unsupported platform: ${platformKey}
`);
npm error ^
npm error
npm error Error: Unsupported platform: android arm64 LE
npm error at pkgAndSubpathForCurrentPlatform (/data/data/com.te
rmux/files/home/workspace/algosul-blog/node_modules/workerd/install
.js:43:11)
npm error at checkAndPreparePackage (/data/data/com.termux/file
s/home/workspace/algosul-blog/node_modules/workerd/install.js:216:2
8)
npm error at Object.<anonymous> (/data/data/com.termux/files/ho
me/workspace/algosul-blog/node_modules/workerd/install.js:245:1)
npm error at Module._compile (node:internal/modules/cjs/loader:
1829:14)
npm error at Module._extensions..js (node:internal/modules/cjs/
loader:1969:10)
npm error at Module.load (node:internal/modules/cjs/loader:1552
:32)
npm error at Module._load (node:internal/modules/cjs/loader:135
4:12)
npm error at wrapModuleLoad (node:internal/modules/cjs/loader:2
55:19)
npm error at Module.executeUserEntryPoint [as runMain] (node:in
ternal/modules/run_main:154:5)
npm error at node:internal/main/run_main_module:33:47
npm error
npm error Node.js v25.8.2
npm error A complete log of this run can be found in: /data/data/co
m.termux/files/home/.npm/_logs/2026-04-08T17_17_49_027Z-debug-0.log
可能的原因
workerd库不支持Android系统
解决方案
✅ 已解决:移除 Cloudflare Workers 依赖
在 Android Termux 上无法使用 Cloudflare Workers,因为 workerd 包不支持 Android 平台。
修改步骤:
- 修改
astro.config.mjs- 移除 Cloudflare adapter:
// 移除 import cloudflare from "@astrojs/cloudflare";
// 移除 adapter: cloudflare({ ... })
- 修改
package.json- 移除 Cloudflare 相关依赖:
// 移除:
// - @astrojs/cloudflare
// - wrangler
// - cloudflare 配置对象
// - cf-typegen、deploy、preview 脚本
- 重新安装依赖:
rm -rf node_modules package-lock.json
npm install
结果:
- ✅ Astro 5.16.9 成功安装
- ✅ 可以在 Termux 上运行
npm run dev - ✅ 可以构建项目:
npm run build - ✅ 可以预览:
npm run preview
注意事项
- 此项目现在以 静态站点 方式运行,而非 Cloudflare Workers
- 部署时需要使用静态托管服务(如 GitHub Pages、Vercel、Netlify)
- 所有脚本都已更新为兼容 Node.js 环境