我正在尝试使用vagrant
,Clojure
并emacs
一起使用。具体来说,我无法连接cider
到我的vagrant
机器。
cider-jack-in
当我在我的项目中运行时,它在本地工作。但我不知道在 vagrant 机器上的同一个项目(通过 vagrant 共享文件夹同步)中执行此操作的步骤是什么。
到目前为止,这是我的尝试:
ssh vagrant
, 那么cd my-project-dir
, 那么lein repl
- 在 emacs 中
cider-connect
,输入vagrant@192.168.50.50
,端口22
我收到以下消息:
SSH 端口转发失败。检查nrepl-tunnel缓冲区。
在该缓冲区内:
OpenSSH_6.2p2, OSSLShim 0.9.8r 2011 年 12 月 8 日 特权端口只能由 root 转发。
进程 nrepl-tunnel 异常退出,代码为 255
我如何以 root 身份运行它?真的是问题吗?我应该使用另一个端口吗?我是否必须在我的 Clojure 代码中添加特定内容才能启用它?这里给出的方向对我来说有点不清楚。
注意:它与这个问题不同,因为emacs
在主机上运行,而不是在vagrant
机器上运行
编辑:
感谢@Shlomi的回答,这是我所做的详细步骤:
通过添加以下内容来编辑 .ssh/config(根据您的需要编辑 IP
Vagrantfile
):主机 vagrant HostName 192.168.50.50 端口 22 用户 vagrant ForwardAgent 是
在主机中,使用
lein repl
. 注意消息中的端口:nREPL server started on port 42018 on host 127.0.0.1 - nrepl://127.0.0.1:42018
在 emacs 中
M-x cider-connect
,输入 vagrant、您的密码和上一个lein
命令记录的端口。而已 :)