web-dev-qa-db-ja.com

「node --debug」と「node --debug-brk」は無効です

ノードを更新しました(v8.1.2)。 NTVSを使用して以前のテストプロジェクトをnodejsでデバッグする場合(Visual Studio 2017で)、次のエラーが発生しました。

StandardError:(node:5292)[DEP0062] DeprecationWarning:node --debugおよびnode --debug-brkは無効です。代わりにnode --inspectまたはnode --inspect-brkを使用してください。

問題は明らかです。ツールはnode --debugを実行してプロジェクトを開始しようとします。

問題は、Visual Studio 2017でnode --debugnode --inspectに変更してテストを実行するにはどうすればよいですか?

また、スクリプト引数に--inspectを追加しても問題を解決できないことを述べたはずです。

11
OmG

これは私がしました:
1。 mv /usr/local/bin/node /usr/local/bin/node_bin
2。 echo > /usr/local/bin/node
3。 editor /usr/local/bin/node
スクリプトを挿入:

#!/bin/bash
## the script converting parameters for nodejs new version
##
new_name="node_bin";
eval _options="(" $(echo -e $@) ")"
_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
    決定が優雅であるとは言いませんが、それは私を助けました。
2
Valery Bersenev

これと同じ問題があり、VS2017バージョン15.2に更新することで修正されました。

1
Dimitri

Nodejsを7.0.0以下にダウングレードする必要があります。 WindowsでNVMを使用します。これを参照してください post

コンピュータ上に複数のノードのバージョンを置くことができます。

幸運!

0

ChromeのDevToolsを使用して、次のようにデバッグできます。

  1. 開始Node with --inspect option ...例:$node --inspect app.js。次のようなコンソールプリントアウトが表示されます。

    Ws://127.0.0.1:9229/2558baab-1141-4db3-8d10-771586f876a6でリッスンするデバッガー

  2. Chromeブラウザを開いてchrome://inspectを参照します。[ノード専用のDevToolsを開く]リンクをクリックします。

0
kchoi

IDE vscを最新バージョン(v1.13)に更新する必要があります。ノードのバージョンはv8.0.0です。この問題を解決できます。

0
qzttt