2014-05-13 4 views
5

Ich versuche, den WebStorm NodeJS-Debugger einzurichten, um eine Verbindung zu einem NodeJS-Projekt herzustellen, das auf einer Vagrant-Box gehostet wird. Ich habe Schwierigkeiten.Wie tunnel ich den NodeJS-Debugger durch zu einer Vagrant-Box?

Wenn ich Tunnel in den Server die traditionelle Art und Weise (dh über Terminal), es funktioniert alles gut und ich bin in der Lage, um es zu kräuseln, zu debuggen es über WebStorm usw.

ssh -L 5858:127.0.0.1:5858 -N [email protected] 

Sobald ich d, dass die Arbeit bekam, habe ich folgendes in mein Vagrantfile:

config.vm.network :forwarded_port, guest: 5858, host: 5858 

im Gegensatz zu früher, das funktioniert immer noch auf dem Feld Vagrant aber nicht auf meinem lokalen Rechner. Wenn ich es kräuseln, bekomme ich folgende Fehlermeldung:

curl: (56) Recv failure: Connection reset by peer 

Hat jemand irgendwelche Ideen, was ich falsch mache? Ist das überhaupt möglich über die Vagrantfile zu konfigurieren?

Ich möchte es durch dieses tun, damit mein Team ihre Debugger mit Zero-Konfiguration verbinden kann.

Dank

+0

Ich habe das gleiche Problem, hast du es gelöst? –

+0

Nein. Ich denke, es ist unmöglich mit der aktuellen Vagrant-Einstellung. Es tut Port Forwarding, aber Tunneling ist eine SSH-Aktion, die außerhalb der Funktionsweise scheint. Going ein Kopfgeld zu starten und sehen, ob jemand mich falsch beweisen kann – RiggerTheGeek

+0

das funktioniert für mich: http://neilk.net/blog/2013/08/21/how-to-debug-node-dot-js-from -within-vagrant/ –

Antwort

3

Sie könnten versuchen, eine Bestimmung Shell-Skript (tunnel.sh) verwendet, die eine Remote-Port-Forwarding auf Ihrem Rechner erstellen würde:

#!/bin/bash 

# executed from 'vagrant' 
ssh -R 5858:127.0.0.1:5858 [email protected] 

Eigentlich sollten Sie dieses Skript im gleichen Ordner ablegen als Ihr Vagrantfile und die Vagrantfile bearbeiten diese Zeilen hinzuzufügen: dieses Skript Dies wird

Vagrant.configure("2") do |config| 
    config.vm.provision "shell", path: "tunnel.sh" 
end 

machen Vagrant Sie das Komma ausführen jedes Mal ausführen nd:

vagrant up 

Oder:

vagrant provision 

Wenn dieser Versuch, sollten Sie die Port-Forwarding-Zeile in Ihrer Vagrantfile löschen.

Ich habe den Tunnel nicht versucht, aber ich benutze Provisionsskripte, um die VM beim Start zu konfigurieren, wie das Kopieren öffentlicher Schlüssel in authorized_keys und ähnliche Aufgaben.

+0

Wo käme das hin? Und hast du es tatsächlich versucht? – RiggerTheGeek

+0

Ich fügte weitere Details zur Verwendung eines Bereitstellungsskripts in der Antwort hinzu. –