将emacs苹果酒连接到流浪主机clojure项目

将emacs苹果酒连接到流浪主机clojure项目,emacs,ssh,clojure,vagrant,cider,Emacs,Ssh,Clojure,Vagrant,Cider,我试图同时使用vagrant、Clojure和emacs。具体来说,我无法将苹果酒连接到我的vagrant机器 当我在项目内部运行苹果酒插孔时,它在本地工作。 但我不知道在vagrant机器上的同一个项目(通过vagrant共享文件夹同步)中要做什么 以下是我迄今为止的尝试: ssh vagrant,然后cd my project dir,然后lein repl 在emacs中,cider connect,输入vagrant@192.168.50.50,端口22 我得到以下信息: SSH端口

我试图同时使用
vagrant
Clojure
emacs
。具体来说,我无法将苹果酒连接到我的
vagrant
机器

当我在项目内部运行苹果酒插孔时,它在本地工作。 但我不知道在vagrant机器上的同一个项目(通过vagrant共享文件夹同步)中要做什么

以下是我迄今为止的尝试:

  • ssh vagrant
    ,然后
    cd my project dir
    ,然后
    lein repl
  • 在emacs中,
    cider connect
    ,输入
    vagrant@192.168.50.50
    ,端口
    22
我得到以下信息:

SSH端口转发失败。检查nrepl隧道缓冲区

在该缓冲区内:

OpenSSH_6.2p2,OSSLShim 0.9.8r 2011年12月8日特权端口只能为 由root转发

进程nrepl隧道异常退出,代码为255

我怎么以root的身份运行它?这真的是问题吗?我应该使用另一个端口吗?我是否必须在Clojure代码中加入特定的内容才能启用该功能?给我的指示有点不清楚

注意:它不同于,因为
emacs
在主机上运行,而不是在
vagrant
机器上运行

编辑

以下是我所做的详细步骤,感谢@Shlomi的回答:

  • 通过添加以下内容编辑.ssh/config(根据您的
    Vagrantfile
    编辑IP):

    寄宿流浪汉 主机名192.168.50.50 端口22 用户流浪者 货运代理是的

  • 在主机中,使用
    lein repl
    启动我的项目。请注意消息中的端口:
    nREPL服务器已在主机127.0.0.1的端口42018上启动-nrepl://127.0.0.1:42018

  • 在emacs中,
    M-x cider connect
    ,输入vagrant、您的密码和上一个
    lein
    命令记录的端口

  • 就这样:)


您使用的端口似乎是ssh端口,而不是nrepl端口

我通常通过tramp使用emacs进行远程访问:

  • 对于你的远程主机,比如说流浪者
  • 在emacs中,
    cider connect
    ,输入
    vagrant
  • 在最新版本的cider中,它将自动查找该主机上所有活动的nrepl会话,并显示它们的项目名称和端口,因此选择正确的一个,您应该能够开始工作

  • 3.不能立即工作,或者我没有在流浪机器上正确启动nrepl?我被要求A-我的密码B-连接端口(我尝试了59258)C-我的密码(在缓冲区nrepl隧道中)vagrant@192.168.50.50“的密码”)D-连接已关闭(“nREPL,连接意外关闭…”)。哦,我必须注意nREPL中的消息:“主机127.0.0.1上的端口42018上启动了nREPL服务器-nrepl://127.0.0.1:42018“。现在它可以工作了,谢谢(+1)。您还应该检查
    ssh copy id
    ,这将允许您跳过已知主机的密码输入。这在您的应用程序中可能非常有用case@Schlomi另外,您是否有重新加载REPL的工作流?我可以杀死流浪REPL,然后重新连接到
    苹果汁连接
    ,但感觉不太理想。抱歉,但我没有..我做sa如您所述:关闭并重新启动repl,然后使用苹果酒连接重新连接