将 emacs cider 连接到 vagrant 主机 clojure 项目
connect emacs cider to vagrant host clojure project
我正在尝试同时使用 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 port forwarding failed. check the nrepl-tunnel buffer.
在该缓冲区内:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 Privileged ports can only be
forwarded by root.
Process nrepl-tunnel exited abnormally with code 255
我如何 运行 作为 root ?真的是问题所在吗?我应该使用另一个端口吗?我是否必须在我的 Clojure 代码中添加一些特定的内容才能启用它? here 给出的指示对我来说有点不清楚。
注意 :它与 this question 不同,因为 emacs
运行s 在主机上,而不是 vagrant
机器
编辑 :
这是我做的详细步骤,感谢@Shlomi 的回答:
编辑 .ssh/config 添加以下内容(根据您的 IP Vagrantfile
编辑 IP):
主机流浪者
主机名 192.168.50.50
端口 22
用户流浪者
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
命令记下的端口。
就是这样:)
您使用的端口似乎是 ssh 端口而不是 nrepl 端口。
我平时使用emacs远程访问的方式是通过tramp:
- Add an entry in .ssh/config 对于您的远程主机,说 vagrant
- 在emacs中,
cider-connect
,输入vagrant
- 在最新版本的 cider 中,它会自动查找该主机上所有活动的 nrepl 会话,并显示它们的项目名称和端口,因此 select 正确的一个,您应该可以开始工作了。
我正在尝试同时使用 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 port forwarding failed. check the nrepl-tunnel buffer.
在该缓冲区内:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 Privileged ports can only be forwarded by root.
Process nrepl-tunnel exited abnormally with code 255
我如何 运行 作为 root ?真的是问题所在吗?我应该使用另一个端口吗?我是否必须在我的 Clojure 代码中添加一些特定的内容才能启用它? here 给出的指示对我来说有点不清楚。
注意 :它与 this question 不同,因为 emacs
运行s 在主机上,而不是 vagrant
机器
编辑 :
这是我做的详细步骤,感谢@Shlomi 的回答:
编辑 .ssh/config 添加以下内容(根据您的 IP
Vagrantfile
编辑 IP):主机流浪者 主机名 192.168.50.50 端口 22 用户流浪者 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
命令记下的端口。就是这样:)
您使用的端口似乎是 ssh 端口而不是 nrepl 端口。
我平时使用emacs远程访问的方式是通过tramp:
- Add an entry in .ssh/config 对于您的远程主机,说 vagrant
- 在emacs中,
cider-connect
,输入vagrant
- 在最新版本的 cider 中,它会自动查找该主机上所有活动的 nrepl 会话,并显示它们的项目名称和端口,因此 select 正确的一个,您应该可以开始工作了。