borg 有时 make 出错,有时不出错但运行 epkg-update 没反应

我 Windows 用 Borg 啊,只是不怎么在这上面去操作包的安装。因为 Magit 太慢。我是 macOS 上Borg更新了配置,然后在 Windows 上用 Borg 同步下配置而已。因为子模块多了,在 Windows 上启动 magit 要等几秒种。

如果你只在 Windows 上用 Emacs,真的不推荐用 Borg,没优势。但你可以自己体验一下 :smile:

Borg 在 Linux 和 macOS 的体验还是很好的。

好的,暂时放弃borg了 :grin:

我修改了帖子标题:

- 小白入坑borg时遇到的问题
+ borg 有时 make 出错,有时不出错但运行 epkg-update 没反应

@pipiTan 你遇到的问题应该是个Bug,最新版本已经修复了。

2 个赞

谢了 我回头试一下 :smiley:

你好,按照你的描述尝试了一下borg安装包,发现我安装什么包都会提示没有依赖,难道依赖也要一个一个手动安装吗? 甚至我安装到没有依赖的包时会有这个错误。

而且我感觉官方的教程真的看不太懂 :face_with_spiral_eyes:,大佬能再详细讲讲吗?麻烦了。

对的,Borg 要你自己决定依赖是否要安装。比如你这要 M-x borg-assimilate async ,然后再 M-x borg-build helm

因为有的功能不用的话,可以不编译相关的包。比如我的 consult 中就不编译下面这两个部分,可以在 .gitmodules 文件中这么写,然后再 M-x borg-build

[submodule "consult"]
	no-byte-compile	= consult-icomplete.el
	no-byte-compile	= consult-selectrum.el
	path = lib/consult
	url = [email protected]:minad/consult.git

这是我的个人配置,你可以参考下:

安装包前可以先运行 epkg-describe-package,看一下要安装的包有哪些依赖

@gangzhan @aqua0210 感谢两位的帮忙,我已经懂怎么安装包了。 但是如果某个包的依赖非常的多,有什么简化的处理吗? 我是按照官网的borg seed安装的borg,我发现在init.el里写的配置比如(display-line-numbers-mode)没有效果,是什么情况呢

没有,Borg 不负责依赖管理。

你用这个只在当前buffer 开的,要和 hook 一起用。 我是这样设置,只在 prog-mode 开行号。

(use-package display-line-numbers
  :hook (prog-mode . display-line-numbers-mode)
  :custom (display-line-numbers-width 3))

你要全局开可以用这个 global-display-line-numbers-mode

感谢,抄了很多你的配置 :wink:

请教一下,一般borg的使用流程是怎么样的呢,比如我已经安装了很多包了,如何备份(是这样说的吧?)我现在有的配置,还有回滚等等。我到了别的pc是不是按照seed那里操作就行了,只是github的地址换成我自己的。如果是,在我已经弄好borg的配置下,如何同步两台pc的配置呢?

最后,问一个跟borg没关的问题,我之前用的是doom emacs,在find files 还有 M-x这些操作的时候,用tab选中选项的时候,minibuffer会在自动补全这个选项,大佬知道这是如何实现的吗?

再次感谢大佬的帮忙! :wink:

回滚就是 magit 的常规操作啊。退回到以前的commit,或者进入每个子模块,退回指定的 commit。

是的。你自己的配置就是 seed。

我用的 vertico + consult + orderless , 不过我改成了用 Tab来上下移动,完成补全用 C -i 或者回车, 因为我在 buffer 中的补全用的 Corfu,设置了 Tab-and-Go 的方式,这样 minibuffer 和 buffer 体验统一。

你可以一个个加上试试。

我也是用vertico consult orderless的,配置是抄你的。

我在安装懒猫大佬的lsp-bridge时遇到个问题,borg提示找不到acm,但是这个包好像是就是在lsp-bridge里面的,我在lsp-bridge文件夹里看到了acm。我也试过把acm move到lib目录下,然后手动在.gitmodules里面加上acm,borg-build会出错,如何解决这个问题呢?

在 .gitmodules 里面这样写应该就可以了。因为默认只有包的根目录加入load-path

[submodule "lsp-bridge"]
	load-path = .
	load-path = acm
	path = lib/lsp-bridge
	url = https://github.com/manateelazycat/lsp-bridge

build lsp-bridge的过程有很多个这个lexical var candidates的错误

而且我发现每次build都会有这个error loading,这是什么情况呢?

可能是 lsp-bridge 的依赖你没安装完。

你看看 helm-make-source 这个函数是哪个包的。

我没真正用过 lsp-bridge,不明白上面那些警告是什么问题。但是警告的话一般是不用管的。只有错误需要关注。

这个函数是helm的,我重新Build了一下它,我现在还没安装新包,不知道解决了没。

关于lsp-bridge的问题我已经去懒猫的帖子下面问了。

突然发现magit里没有最近的commit,反而是显示这个,我好像没有别的分支啊,我应该如何做呢?

感谢你的帮忙!

你这问题跟 Emacs 没啥关系,这是跟 git 相关的,你看看描述不就明白了吗?

Unmerged into origin/master

未合并到 origin/master

不就是讲这是你本地的一条 commit,尚未合并到远程分支


一个建议,新手期就先别抄大佬的配置了,参照 borg 作者给新手的配置:emacs.g,先把基础的安装、配置搞明白了,再去研究大佬的配置

2 个赞

你得先熟悉下 git 或者 magit 的相关操作。

这个意思是你的项目本地修改了,还没推送到你的远程仓库。

如果你决定推送,就按 P , u。这样远程仓库就更新了,其他电脑也就可以 pull 了。

1 个赞

@gangzhan @aqua0210 好的,我明白了。感谢两位的帮忙!

论坛大佬们都好有耐心,很多在你们眼里比较弱智的问题都会耐心回答!感谢