我的配置就一行,简单的打开consult-org-roam-mode,它就会自动激活预览,别的也没配置什么……
Ilya.w
178
请问这句话的含义是 Emacs 29 已经不需要依赖系统的 sqlite 了吗?
我在安装 emacsql-sqlite-builtin
发现它似乎找不到内置的 sqlite, 依然需要手动安装. 比如:
(use-package emacsql-sqlite-builtin
:init
(require 'emacsql)
(require 'emacsql-sqlite))
;; Error (use-package): emacsql-sqlite-builtin/:init: Cannot open load file: No such file or directory, emacsql
依然需要手动安装 emacs-sql
与 emacsql-sqlite
二者, 如
(use-package emacsql-sqlite-builtin
:init
(use-package emacsql)
(use-package emacsql-sqlite))
就没有任何报错. 但这样似乎显得多余.
P.S.
emacs-version:
GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin22.1.0, NS appkit-2282.14 Version 13.0 (Build 22A5342f)) of 2022-09-20
OS: macOS; 安装方式:
brew install emacs-plus@29 --with-native-comp
我的理解是 Emacs 29 内置了对 sqlite3的绑定,不需要通过动态模块来实现对 sqlite3的支持。
你系统中还是要安装 sqlite3 这个程序的。
按理说你只要安装好 emacsql-sqlite-builtin以及他的相关依赖就可以了,你是用过什么方式安装包?(比如:package.el, straight.el, Borg)
用 package.el 通过 melpa 安装的话,这样应该就可以了:
(use-package emacsql-sqlite-builtin :ensure t)
1 个赞
Ilya.w
180
使用的是 straight.el. 非常感谢, 这个提醒了我, 目前问题已经解决. 原因大致是 emacsql 和 emacsql-sqlite 这两个包应该隶属于 org-roam, 而按照 straight.el 的逻辑, 这两个包在加载 org-roam 前都不能被调用. 于是把 (use-package emacsql-sqlite-builtin)
这一行放在 (use-package org-roam)
后面加载就没有出错了.
在 emacs 29 刚安装了 emacsql-sqlite-builtin
然后设置 (setq org-roam-database-connector 'sqlite-builtin)
,load org-roam 报错如下
Lisp error: (invalid-slot-type emacsql-sqlite-builtin-connection process process #<sqlite db=0x... name=/path/to/roam-db.db>)
单独使用 (emacsql-sqlite-builtin "/path/to/roam-db.db")
试了一下报同样的错误。emacsql
emacsql-sqlite
emacsql-sqlite-builtin
都安装的melpa最新的版本。
网上搜了一下没有搜到,有碰到同样问题的吗?
目前 emacsql 的维护者正在准备把 emacsql-sqlite-builtin
合并到 emacsql 中。我用的还是原来的版本,没问题。可能是新版本引入的问题。
melpa 的emacsql-sqlite-builtin
是从这个分支拉的:
https://github.com/magit/emacsql/tree/next
最近有一个 fixup,也许可以解决你的问题。
谢谢,原来是这样。
我刚看了一下,用的已经是最新的了,等稳定些再看吧。
@sdycjsj emacsql-sqlite-builtin
已经合并到 emacsql了,以后不用单独安装 emacsql-sqlite-builtin
了。
我已经换过来了,没问题。
1 个赞
你是用的自带包管理还是其他?我更新了 melpa 上面的 emacsql 和 emacsql-sqlite,里面都没有 emacsql-sqlite-builtin,还是要单独安装?
我用的是 magit 作者开发的 Borg 包管理器,直接从 emacsql 安装的。MELPA 更新有点慢的。
如果使用 melpa 安装 emacsql,还是要单独安装 emacsql-sqlite-builtin
,因为它在melpa 上是单独分发的。
如果直接使用 github 从 emacsql 的源码仓库安装就不需要单独安装 emacsql-sqlite-builtin。
比如我使用的是 Borg 安装就不需要。
我是Mac电脑。emacs plus 升级到29之后,也遇到了 emacsql 相关问题。汇总一下这个关于 Emacs 29,org-roam-database-connector 的问题。
C-h org-roam-database-connector 我们可以得到以下信息:
- Emacs 29 版本,推荐的 connector是 sqlite-builtin
- Emacs 29以下,推荐的 connector是 sqlite-module
就像 @ aqua0210 所说的 emacsql-sqlite-builtin
已经合并到 emacsql,无需再额外安装。如果你尝试安装 emacsql-sqlite-builtin
会失败,因为它的github仓库已经404(见 MELPA)。
我是使用 use-package管理package。请注意 : use-pakcage下载下来的 emacsql 不是最新的,会缺少 emacsql-sqlite-builtin.el 等文件。所以我采用以下步骤来解决问题
- M-x staight-pull-package, 输入emacsql, 将包含 emacsql-sqlite-builtin.el 等最新的文件更新下来(staight/repo/emacsql文件夹)
- M-x straight-rebuild-package, 输入emacsql。build到 straight/build/emacsql文件夹。 但是请注意 build 文件夹下还是会缺少 缺少 emacsql-sqlite-builtin.el 等文件
- 我将 staight/repo/emacsql下所有el文件拷贝到 straight/build/emacsql下。
经历了以上三个步骤,Org-roam 现在可以正常使用。不过只能作为临时方案。如果论坛里的人们有更好的解决办法,欢迎留言告知一下。
1 个赞
请问,Org 文件里写上了多个标签,为什么 org ui 的 web 页面上只显示了一个?
org 文件:
:PROPERTIES:
:ID: ee27e65a-5686-4833-9736-3c5c3baeea0d
:END:
#+title: 标签测试
#+filetags: :标签2:标签1:
最近正好在发愁所有的org file都加进去会比较慢,就看到这个帖子了,正好来学习一下!
book
195
在mac最新的emacsql-20240903.1144 已经包含了emacsql-sqlite-builtin.el但是在打开org-roam 文件时还是会出现File mode specification error: (error Selecting deleted buffer)
? org-9.7.10, org-roam-20240715.1750, [email protected]
哦,微信群里大佬帮忙解决了。
(setq org-roam-database-connector 'sqlite)