VSCodeでTypeScriptのビルド時に終了コード127エラーが発生するときの対応

この記事は公開から4年以上経過しています。

VisualStudioCode+Node.jsでTypeScriptをビルドしたときに、ターミナル プロセス "/bin/bash '-c', 'tsc'" が起動に失敗しました (終了コード: 127)。と表示されてビルドできないときの対応。

原因

TypeScriptをローカルインストールしているなど、tscコマンドへのパスが通っていない。

対応

TypeScriptをグローバルインストールするか、以下のようにtasks.jsontasks/commandで、置換変数${workspaceRoot}を使ってtscコマンドへのフルパスを指定する。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "${workspaceRoot}/node_modules/.bin/tsc",
            "group": "build"
        }
    ]
}

ちなみに、Windows環境でGitのbashをVSCodeのターミナルとして利用している場合には上記対応を行っても、ターミナル プロセス "C:\Program Files\Git\bin\bash.exe '-c', 'c:\path_to_proj\node_modules\.bin\tsc'" が終了コード 127 で終了しました。のような同様のエラーが発生する場合がありますが、これはOSのパスセパレーター(¥と/)の違いが原因のため、

  • VSCodeのターミナルをbash.exeからcmd.exeに変更する。
  • bash.exeを使う場合は、パスセパレータを含む置換変数を利用せずパスセパレーター/を使って記述する。
  • TypeScriptをローカルではなく、グローバルインストールする。

といった別の対応が必要です。

参考ウェブサイトなど

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする