git - Magit 找不到本地安装的 git 版本
问题描述
我正在尝试同时使用 Magit 和 TRAMP,以便从 macOS 笔记本电脑访问服务器上的 git 存储库。
服务器默认为 git 1.7.12,低于 Magit 所需的版本。我已经安装了 git 2.9.5,我可以通过使用通过 TRAMP/my/local/path/bin
输入来检查这一点,输出为 2.9.5,如预期的那样。远程 shell 是并且相关的本地路径被设置在.git --version
M-x 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
,以便流浪者不会尝试重用旧连接并加载 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")
这令人困惑,因为它似乎表明在启动时所讨论的变量不是无效的。此外,我在服务器上编译了一个 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")
注意远程和路径之间的空间。现在已解决此问题,再次删除缓存并重新加载已解决问题。
推荐阅读
- postgresql - 通过 AWS Glue 将数据从 RDS Aurora Postgres 推送到 SQS
- c# - 当我打开另一个桌面应用程序时,如何触发 WinForms 应用程序?
- sql - ORDER BY 表结构而不是数字
- javascript - 将具有自定义字体的 SVG 元素下载到 PNG
- php - 来自另一个类的 Wordpress add_action
- azure-devops - 目标分支识别不正确 - SystemPullRequestTargetBranch。解决方法是什么?
- c++ - 如何使用 Boost.Beast 库
- c++ - 减轻头文件中的长限定
- javascript - 为什么 React 原生视图中不能垂直放置多个项目?
- fortran - 空数组的边界检查——各种编译器的行为