萌新求教org-roam-server的安装问题

本人是刚上org-mode船的萌新,跟着教程踉踉跄跄的配置上了emacs、org-roam,结果卡在org-roam-server死活配置不好。。。真心求教各位大佬(´;ω;`)帮帮忙

现在的问题是能够打开127.0.0.1也能看到选项,但是即使我已经新建了org-roam文件在文件夹内,也不能在网页看到任何节点,疑似org-protocol设置有问题

org-protocol的设置参考了https://orgmode.org/worg/org-contrib/org-protocol.html这篇文章,按照要求在应用程序里装了EmacsClient.app和Aquamacs

还有关于这段 (server-start) (add-to-list 'load-path "~/path/to/org/protocol/") (require 'org-protocol)

我在.emacs中写的是 (server-start) (add-to-list 'load-path "/Users/name/Applications/EmacsClient.app") (require 'org-protocol)

我怀疑是我对教程理解的有问题Orz,求各位大佬帮帮忙找bug

org-protocol 没配置不影响看 graph

想问下大佬能大致推测一下问题出在哪吗(´;ω;`)或者还需要我提供什么配置信息

org-roam-server 页面能显示说明 org-roam-server 工作正常,所以可能是没有拿到 org-roam 产生的数据吧

  1. 首先,你的 org-roam 和 org-roam-server 是什么版本?
  2. 新建笔记后,执行 org-roam-db-build-cache,然后在页面上刷新一下,看是否有显示出来
  3. 执行 C-h v org-roam-server-data 看下是什么结果

十分感谢您的回答!!我感觉问题逐渐浮出水面了

  1. org-roam和org-roam-server的版本分别是20200710.1123和20200705.1103

  2. 执行后显示Opening directory: Operation not permitted, ~/Desktop/Roam-ML,这看起来像是一个访问权限问题,我试图在terimal中将这个文件夹chmod 777,但是仍然报了这个错误。后来通过这篇文中介绍的方法解决https://apple.stackexchange.com/questions/371888/restore-access-to-file-system-for-emacs-on-macos-catalina

解决后重新执行显示为 files 0, headlines 0…但是这个文件夹里实际有我存放的两个org文件

  1. 执行后的结果是

难道是我写的.emacs不对么_(:з」∠)_ 关于org-roam我在.emacs里写了

(setq org-roam-directory "~/Desktop/Roam-ML")
(add-hook 'after-init-hook 'org-roam-mode)

(setq org-roam-server-host "127.0.0.1"
      org-roam-server-port 9090
      org-roam-server-export-inline-images t
      org-roam-server-authenticate nil
      org-roam-server-label-truncate t
      org-roam-server-label-truncate-length 60
      org-roam-server-label-wrap-length 20)
(org-roam-server-mode)

我一直有file 0, headlin0… 这个问题,每次都要清除缓存再build才行,麻烦死了,不知道是不是bug。

配置没有问题。

试试 org-roam-find-file 新建几个文件,接着先 org-roam-db--clear 再执行 org-roam-db-build-cache

如果这样子刷新后页面上还是什么都不显示, C-h v org-roam-server-data 结果也还是 nil 我就不知道了 :sweat_smile:

奇怪的是在执行clear之后,org-roam-db-build-cache执行后的结果不是0了,显示了正确的文件数量连接数量。 但是刷新网页之后还是没有任何节点,C-h v org-roam-server-data的结果也还是nil 。 Safari和Chrome都不行_(´ཀ`」 ∠)_

我也是clear之后再build才能显示正确数量,但是即使正确数量,网页端还是不显示任何结点。。。。

才发现您竟然是写我follow的那篇教程的博主大佬!!膜拜!╭(°A°`)╮

1 个赞

大致可以确认是你的 org-roam 和 org-roam-server 版本不一致导致的。

org-roam 在 7 月 10 号有一个提交,修改了数据库的结构,org-roam-server 也在 7 月 11 号的提交里做了适配。而你的 org-roam-server 还是 7 月 5 号的版本,所以没有办法读取 org-roam 存下来的数据。

我本地将 org-roam 切换成 7 月 10 号的版本,将 org-roam-server 切换成 7 月 5 号的版本,复现了你的问题。

建议解决方案:安装 org-roam 和 org-roam-server 的稳定版本。如果是从 MELPA 安装的,建议将 MELPA 设置为 stable 源,然后重新安装 org-roam 和 org-roam-server

(add-to-list 'package-archives
             '("melpa-stable" . "https://stable.melpa.org/packages/") t)

具体见 MELPA 说明:https://melpa.org/#/getting-started

当然,你也可以把 org-roam-server 升到最新版本( 20200711.1032)试试。

1 个赞

我的天!!真的有效!!真的给跪了!!!!谢谢大佬!!!!!!:arrow_upper_left:(^ω^):arrow_upper_right:

@zmonster 我在Win10上 的emacs 27.1 配置 org-roam 和 org-roam-server也遇到了同样问题,每次必须清除数据库,再重启emacs 才能正确识别文件数量,否则都是0。 我是通过github 仓库直接安装的最新版本。 org-roam-version 1.2.1 org-roam-server version 1.0.5

请问还有什么可能造成这个问题吗?

我暂时没有空具体去看代码,但是 org-roam-server 的最新稳定版本是 1.0.4,1.0.5 是一个尚在开发的版本,建议都安装稳定版本再看看还有没有问题。

我现在回滚到稳定版org-roam-server 1.0.4 和 org-roam 1.2.1 还是一样,看来是加载的问题。 如果删除目录下的org-roam.db 文件,第一次启动就能识别到正确的数量,并且Chrome也能正常工作。

(setq org-roamx-directory (file-truename "~/beorg/roam/"))
(org-roam) files: Δ8, headlines: Δ2, links: Δ0, tags: Δ0, titles: Δ8, refs: Δ0, deleted: Δ0

这时org-roam-directory 的值如下:

org-roam-directory is a variable defined in ‘org-roam.el’.
Its value is
"c:/Users/ABC/iCloudDrive/iCloud~com~appsonthemove~beorg/roam/"
Original value was 
"c:/Users/ABC/org-roam/"

org-roam-db-location 的值为空,如果强行设置的这个值的话,启动会卡死。

org-roam-db-location is a variable defined in ‘org-roam-db.el’.
Its value is nil

重启Emacs后,就没法找读到正确的数值了。

(org-roam) files: Δ0, headlines: Δ0, links: Δ0, tags: Δ0, titles: Δ0, refs: Δ0, deleted: Δ0

更新:问题已经解决。回滚到稳定版本后,删除原来创建的那些文件,重新通过org-road-find-file创建的文件就都能找到了。看来还是版本问题。

1 个赞