web-dev-qa-db-ger.com

"node --debug" und "node --debug-brk" sind ungültig

Ich habe den Knoten (v8.1.2) aktualisiert. Wenn ich mein vorheriges Testprojekt in nodejs mit NTVS (in Visual Studio 2017) debuggen möchte, habe ich den folgenden Fehler erhalten:

StandardError: (node: 5292) [DEP0062] DeprecationWarning: node --debug und node --debug-brk sind ungültig. Bitte verwenden Sie stattdessen node --inspect oder node --inspect-brk.

Das Problem ist klar. Das Tool versucht, den node --debug auszuführen, um das Projekt zu starten.

Die Frage ist, wie kann ich node --debug in node --inspect in Visual Studio 2017 ändern, um den Test auszuführen?

Ich hätte auch erwähnen sollen, dass ich das Problem nicht lösen kann, indem --inspect in die Skriptargumente eingefügt wird.

9
OmG

Ich hatte das gleiche Problem und wurde durch ein Update auf VS2017 Version 15.2 behoben.

1
Dimitri

Sie sollten Ihre nodejs auf 7.0.0 oder weniger herabstufen. Verwenden Sie NVM unter Windows, siehe post .

sie können mehrere Nodes-Versionen auf Ihrem Computer haben. 

glück!

0

Sie können die folgenden DevTools von Chrome zum Debuggen verwenden:

  1. Starten Sie Node mit --inspect option ... z.B. $node --inspect app.js. Sie sollten so etwas wie einen Konsolendruck sehen

    Debugger wartet auf ws: //127.0.0.1: 9229/2558baab-1141-4db3-8d10-771586f876a6

  2. Öffnen Sie den Chrome Browser und navigieren Sie zu chrome://inspect. Klicken Sie auf den Link "Open dedicated DevTools for Node".

0
kchoi

Sie sollten den IDE vsc auf die neueste Version (v1.13) aktualisieren. Node Die Version meines Knotens ist v8.0.0.

0
qzttt

Ich tat dies:
1. mv /usr/local/bin/node /usr/local/bin/node_bin
2. echo > /usr/local/bin/node
3. editor /usr/local/bin/node
Skript einfügen:

#!/bin/bash
## the script converting parameters for nodejs new version
##
new_name="node_bin";
eval _options="(" $(echo -e [email protected]) ")"
_node=$(whereis -b $new_name|awk '/^'$new_name':/{print $2}');                                                                              
eval _version="(" $(echo -e $($_node --version|sed 's/[^0-9]/ /g')) ")";                                                                    
# local values                                                                                                                              
old_options=( "--debug" "--debug-brk" );                                                                                                    
new_options=( "--inspect" "--inspect-brk" );                                                                                                
_opt=();                                                                                                                                    

function filtr() {                                                                                                                          
    _opt=${_options[@]};                                                                                                                    
    for ((get_i=0; get_i != ${#old_options[@]}; get_i++))                                                                                   
        do                                                                                                                                  
        if [ ${new_options[$get_i]} = "" ];
            then
                _opt=${_opt[@]};
            else
                _opt=$( echo -e ${_opt[@]}|sed 's/'${old_options[$get_i]}'/'${new_options[$get_i]}'/g');
        fi
    done

}

function convert() {

if [ $(echo -e ${#_options[@]}) = 0 ];
    then 
        $_node;
    else
     filtr;

        $_node $(echo -e ${_opt[@]})
fi
exit 0;
}

if (( ${_version[0]} >= 7 ));
 then
   convert;
fi
exit 0;
  1. chmod ugo+x /usr/local/bin/node
    Ich möchte nicht sagen, dass die Entscheidung elegant ist, aber sie hat mir geholfen.
0
Valery Bersenev