Начало работы с SLIME и SWANK: соединение с Lisp неожиданно закрылось: соединение разорвано удаленным узлом

Я пытался использовать функцию slime-connect, чтобы получить доступ к удаленному серверу с помощью sbcl. Я выполнил все шаги из фильма slime.mov от Марко Барингера, но застрял при создании ssh-соединения для slime. Это уже после запуска сервера swank на удаленной машине. Я сделал это так:

ssh -L 4005:127.0.0.1:4005 user@server.com

И я получил эти ошибки, на местном SLIME:

Лисп-соединение неожиданно закрылось: соединение разорвано удаленным узлом

... и на удаленном сервере:

канал 3: открытие не удалось: подключение не удалось: подключение отказано

Что может быть не так?

4 ответа

Вы проверили, что версия SLIME и SWANK, которые вы используете, совпадают? У меня случались странные вещи, когда я использовал несовпадающие версии этих двух половинок сессии SLIME.

Самая простая вещь, которую нужно пропустить - это порт tcp, который слушает сервер swank. В последнее время я не занимался удаленной разработкой, но помню, что в первый раз у меня возникли проблемы с пониманием, как сказать swank, какой порт связывать, или узнать, какой из них он выбрал.

Не могли бы вы рассказать о том, как вы на самом деле запустили сервер swank?

Я не знаю, но вы можете попробовать подключиться к swank на удаленной машине локально.

ssh user@server.com
telnet 127.0.0.1:4005

Может быть, вы найдете ошибки. Также вы можете попробовать localhost:4005 вместо 127.0.0.1 и проверить, правильно ли настроен интерфейс localhost.

Для меня проблема заключалась в том, что slime (v2.22) функция из Emacs запущена с дополнительным аргументом from-emacs t который swank-loader.lisp не поддерживал (v2.22).

Что для меня сработало, так это редактирование slime-v2.22/swank-loader.lisp:init принять один новый аргумент from-emacs которая не используется по причине в теле функции, потому что я не знаю, как этот аргумент должен обрабатываться. Но slime начинается сейчас нормально и работоспособно.

Также при запуске slime Я получаю предупреждение о несовместимых версиях: slime v2.23 и swank v2.22, но как я проверил с list-packages и просто по именам папок - у меня есть slime а также swank обе версии v2.22. Это путаница для меня прямо сейчас.

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

Другие вопросы по тегам