Magit не может найти локально установленную версию git - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь использовать Magit и TRAMP вместе для доступа к git-репозиториям на сервере с ноутбука MacOS.

На сервере установлен git 1.7.12 по умолчанию, что ниже требуемой версии Magit,Я установил git 2.9.5 на /my/local/path/bin. Я могу проверить это, набрав git --version, используя M-x shell через TRAMP, и вы получите 2.9.5, как и ожидалось.Удаленная оболочка - zsh, а соответствующий локальный путь задается в .profile.


Так, как предлагается:

https://stackoverflow.com/a/37886703/3228006

Я добавляю следующее в мои 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")

Это сбивает с толку, поскольку, по-видимому, указывает на то, что при запуске рассматриваемая переменная равна , а не ПустоКроме того, у меня есть версия emacs и spacemacs, скомпилированная на сервере, если я захожу и использую magit, она не находит мою локально установленную версию git, и все работает как положено.


Если кто-нибудьможет помочь в дальнейшей отладке, будет очень признателен, заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Обнаружив опечатку в моем / .spacemacs, ошибка, которую я вставил выше, показалась мне хитрой, и я понял, что строка:

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

На самом деле была записана как:

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

Примечаниепространство между пультом и дорожкой.Теперь, когда это исправлено, удаление кеша снова и перезагрузка устранили проблему.

...