macOS安装forge,执行时提示No EmacSQL SQLite binary available

尝试在macOS安装forge,在执行forge-pull提示:

Compiling EmacSQL SQLite binary ...
emacsql-sqlite-ensure-binary:No EmacSQL SQLite binary available, aborting

尝试手动make binary

嗯,在哪里执行这个脚本

emacsql-sqlite这个插件里面下载有个目录叫sqlite,里面有个makefile

cd ~/.emacs.d/elpa/develop/emacsql-sqlite-20190727.1710/sqlite
make

提示: sqlite3.c:20071:24: error: unknown type name ‘time_t’; did you mean ‘size_t’?

不太清楚这个问题,可能你要给作者发issue或者找懂C的

我也没碰到过这个问题。不太懂c,只会c++和cmake,底层的c和make都还没来得及研究。。。

如果有朋友懒得编译,可以用我写的emacsql-sqlite3代替emacsql-sqlite。使用sqlite3官方CLI工具操作数据库,就不用额外编译emacsql作者写的操作工具了。

  1. 需要emacs26,emacs25上travis的单元测试始终不通过,不敢打包票
  2. 安装sqlite3官方CLI工具,建议安装3.8.2以上的版本,原因同上
  3. 安装emacsql-sqlite3
  4. 用下面代码mock掉forge依赖的closql的数据库交互api
(with-eval-after-load 'closql
  (require 'emacsql-sqlite3)
  (defclass closql-database (emacsql-sqlite3-connection)
    ((object-class :allocation :class))))

作者不用官方工具的原因: Support official sqlite3 executable as backend. · Issue #56 · magit/emacsql · GitHub

1 个赞