Magit 找不到本地安装的 git 版本

Magit cannot find locally installed git version

我正在尝试同时使用 Magit 和 TRAMP,以便从 macOS 笔记本电脑访问服务器上的 git 存储库。

服务器默认git1.7.12,低于马git要求的版本。我已经安装了 git 2.9.5 到 /my/local/path/bin 我可以通过 TRAMP 使用 M-x shell 输入 git --version 来检查这个输出是 2.9.5 正如预期的那样。远程 shell 是 zsh 相关的本地路径设置在 .profile.


所以按照以下建议:

我将以下内容添加到我的 dotspacemacs/user-config 中:

(require 'tramp)
(add-to-list 'tramp-remote-path "/my/local/path/bin")
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)

然后我按照手册中的建议删除 .emacs.d/.cache/tramp,这样 tramp 就不会尝试重用旧连接并加载 spacemacs。我受到欢迎:

1 error(s) on startup! Spacemacs may not be able to operate properly.

我用emacs --debug-init找原因

Error in dotspacemacs/user-config: Symbol's value as variable is void: path

注释掉我添加的行删除了向我暗示 'tramp-remote-path 无效的错误。这不应该像我预期的那样,特别是因为我添加了 (require 'tramp) 以确保在访问远程路径变量之前加载了 tramp。

删除require 'tramp 并不能解决问题。删除所有三行并执行 C-h v 'tramp-remote-path 输出(在对 tramp 进行任何操作之前):

(tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin")

这令人困惑,因为它似乎表明在启动时所讨论的变量 而不是 void。此外,我在服务器上编译了一个版本的 emacs 和 spacemacs,如果我登录并在那里使用 magit 它会发现我本地安装的 git 版本没问题,一切都按预期工作。


如果有人能够帮助进一步调试,将不胜感激,在此先感谢。

在我的 /.spacemacs 中发现了一个拼写错误,我在上面粘贴的错误对我来说看起来很狡猾,我意识到了这一行:

(add-to-list 'tramp-remote-path "/my/local/path/bin")

实际写成:

(add-to-list 'tramp-remote path "/my/local/path/bin")

注意远程和路径之间的 space。现在这已修复,再次删除缓存并重新加载已修复该问题。