この記事は公開から4年以上経過しています。
VisualStudioCode+Node.jsでTypeScriptをビルドしたときに、ターミナル プロセス "/bin/bash '-c', 'tsc'" が起動に失敗しました (終了コード: 127)。
と表示されてビルドできないときの対応。
原因
TypeScriptをローカルインストールしているなど、tsc
コマンドへのパスが通っていない。
対応
TypeScriptをグローバルインストールするか、以下のようにtasks.json
のtasks/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をローカルではなく、グローバルインストールする。
といった別の対応が必要です。
参考ウェブサイトなど
- VisualStudioCode Docs
Variables Reference
以上です。