4

vagrantClojureと をemacs一緒に使おうとしています。具体的には、cider自分のvagrantマシンに接続できません。

cider-jack-inプロジェクト内で実行すると、ローカルで動作します。しかし、vagrant マシン上の同じプロジェクト (vagrant 共有フォルダーを介して同期) 内でそれを行う手順がわかりません。

これまでの私の試みは次のとおりです。

  • ssh vagrant、その後cd my-project-dirlein repl
  • emacs では、cider-connect、入力vagrant@192.168.50.50、ポート22

次のメッセージが表示されます。

SSH ポート転送に失敗しました。nrepl-tunnelバッファを確認してください。

そのバッファ内:

OpenSSH_6.2p2、OSSLShim 0.9.8r 2011 年 12 月 8 日 特権ポートはルートによってのみ転送できます。

プロセス nrepl-tunnel がコード 255 で異常終了しました

root として実行するにはどうすればよいですか? それは本当に問題ですか?別のポートを使用する必要がありますか? それを有効にするには、Clojure コードに特定のものを入れる必要がありますか? ここで与えられた指示は、私には少し不明確です。

:マシンではなくホストマシンで実行されるため、この質問とは異なりますemacsvagrant

編集

@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 で vagrant、M-x cider-connectパスワード、および前のleinコマンドでメモしたポートを入力します。

  • それでおしまい :)

4

1 に答える 1