Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

context-mode-termux

Termux (Android arm64) 上安装 pi 扩展 context-mode 的懒人包。

背景

context-mode 依赖原生模块 better-sqlite3。在 Termux 上直接 pi install npm:context-mode 会失败,原因有二:

  1. 官方没有为 android/arm64 提供预编译二进制,只能本地编译;

  2. 本地编译时 node-gyp 检测到 OS=="android" 后引用未定义的 android_ndk_path 变量(common.gypi),配置阶段直接报错:

    gyp: Undefined variable android_ndk_path in binding.gyp while trying to load binding.gyp
    

本仓库提供了在 Termux 上编译好的 better_sqlite3.node,安装时直接放入即可,免去编译。

快速安装

git clone https://github.com/lide4144/context-mode-termux.git
cd context-mode-termux
sh install.sh

脚本会:

  1. npm install context-mode@1.0.169 到 pi 的扩展目录(--ignore-scripts,跳过编译);
  2. 把预编译的 better_sqlite3.node 放到 node_modules/better-sqlite3/build/Release/
  3. 验证模块可以正常加载;
  4. ~/.pi/agent/settings.jsonpackages 中注册 npm:context-mode

兼容性

预编译二进制适用环境:

项目
平台 Android (Termux)
架构 arm64
Node 26.x(ABI 147)
better-sqlite3 12.11.1

如果你的 Node 大版本不同(ABI 不是 147),install.sh 会自动退回到本地编译。

手动安装(不使用本仓库)

不想用预编译二进制的话,关键是给 node-gyp 一个占位的 android_ndk_path(node-gyp 会把 npm_config_* 环境变量转成 gyp 的 -D 定义):

pkg install make clang python
npm_config_android_ndk_path=$PREFIX pi install npm:context-mode

编译过程约 4 分钟。

文件说明

prebuilds/better_sqlite3.node   # 编译产物(better-sqlite3@12.11.1, Node ABI 147, android-arm64)
install.sh                      # 一键安装脚本

许可

better-sqlite3context-mode 均为 MIT 许可,二进制按其各自许可证再分发。

About

在 Termux 上运行 context-mode 的配置

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages