TypeScriptを使い始めたとき、次のようなエラーに遭遇したことはありませんか?
bash: tsc: command not foundtscはTypeScript Compilerの略で、.tsファイルを.jsファイルに変換(コンパイル)するためのコマンドです。そのため、このエラーが出るとTypeScriptを一切コンパイルできず、先に進めなくなります。
この記事では、以下の内容をわかりやすく解説します。
- なぜ「
tsc: command not found」が出るのか - どうすればこのエラーを解決できるのか
「tsc: command not found」が出る原因
このエラーが出る原因は、ほとんどの場合、次のいずれかです。
- TypeScriptがインストールされていない
- TypeScriptは入っているが
PATHが通っていない
まずは「TypeScriptがインストールされているか」を確認しましょう。
原因:TypeScriptがインストールされていない
最初に、TypeScriptがグローバルインストールされているかを確認します。以下のコマンドを実行してください。
npm list -g --depth=0実行結果の一覧に、以下のような表示があればTypeScriptはインストールされています。
$ npm list -g --depth=0
C:\Users\ユーザー名\AppData\Roaming\npm
└── typescript@5.x.xtypescriptが表示されない場合は、まだインストールされていません。その場合は、次のコマンドでTypeScriptをグローバルインストールします。
npm install -g typescriptインストール後、以下のコマンドを実行してみてください。バージョンが表示されれば、インストール自体は成功しています。
tsc -v原因:TypeScriptは入っているがPATHが通っていない
TypeScriptがグローバルインストールされているにも関わらず、tscコマンドの実行時にcommand not foundが表示される場合には、PATHが通っていない状態です。まず、npmのグローバルインストール先を以下のコマンドで確認します。
npm config get prefix実行すると、以下のようにグローバルインストール先がわかり、このディレクトリの中にtscコマンドが実体として存在しています。
$ npm config get prefix
C:\Users\ユーザー名\AppData\Roaming\npm補足
以降では以下のコマンドでtscの場所を確認できました。
npm bin -gしかし、npm v9以降ではこのコマンドは廃止されています。そのため、npm v9以降では次のようなエラーが出ます。
$ npm bin -g
Unknown command: "bin"
To see a list of supported npm commands, run:
npm helpTypeScriptをグローバルにインストールしていても、PATHにnpmのグローバルディレクトリが含まれていないとtscは実行できません。PATHを通すために、~/.bashrc(または環境によっては~/.bash_profileや~/.zshrc)に、次の一行を追加してください。
export PATH="$PATH:/c/Users/ユーザー名/AppData/Roaming/npm"ユーザー名は自分の環境のユーザー名に置き換えてください。
設定を反映するため、以下のコマンドを実行します(.bash_profileに書いた場合はsource ~/.bash_profile)。
source ~/.bashrc最後に、tscが使えるか確認するため、以下のコマンドを実行してみてください。バージョンが表示されれば、インストール自体は成功しています。
tsc -v本記事のまとめ
この記事では「tsc: command not found」について説明しました。
「tsc: command not found」は、TypeScriptのインストールやPATH設定が原因で発生することがほとんどです。
- TypeScriptがインストールされているか
- npmのグローバルディレクトリに
PATHが通っているか
この2点を確認すれば、多くの場合は解決できます。同じエラーで困っている方の参考になれば幸いです。
お読みいただきありがとうございました。