我正在尝试同时使用
在本地运行我的项目时是可以的,当我在项目中运行
目前,我尝试了以下步骤:
vagrant
,Clojure
和 emacs
。具体地,我无法将 cider
连接到我的 vagrant
虚拟机上。在本地运行我的项目时是可以的,当我在项目中运行
cider-jack-in
时。但我不知道如何在通过 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 文件(根据你的 Vagrantfile 编辑 IP):
Host vagrant HostName 192.168.50.50 Port 22 User vagrant ForwardAgent yes
在主机上,使用
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
命令中记录的端口。就这样 :)
ssh-copy-id
,它可以让你跳过已知主机的密码输入,可能在你的情况下非常有用。 - Shlomicider-connect
重新连接,但感觉不够优化。 - nhacider-connect
重新连接。 - Shlomi