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。现在这已修复,再次删除缓存并重新加载已修复该问题。
我正在尝试同时使用 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。现在这已修复,再次删除缓存并重新加载已修复该问题。