🦈

【TypeScript】tscコマンドが使えない時の対処法

2021/02/19に公開

状況

  1. $ npm i typescript -gした後に$ tsc --versionとしてもcommand not foundとなる場合
  2. iTerm2 では tsc コマンドが使えるが、VSCode で tsc コマンドが使えない場合

Too Long, Didn’t Read

  1. PATH を通す
  2. 再起動、Node の再インストール

環境

  • MacOS Big Sur v11.2.1
  • node v15.9.0
  • npm v7.5.3

対処

  1. $ npm i typescript -gした後に$ tsc --versionとしてもcommand not foundとなる場合

PATH を通します。
参考:PATH を通すとは?

npm がグローバルで使用しているディレクトリを確認する

$ npm bin -g
/Users/xxx/.nodebrew/node/v15.9.0/bin

.zschrに追記する(bash の方は.bash_profile で置き換えて読んでください)

$ sudo vi ~/.zshrc

iキーを押して INSERT モードにし、最終行に下記を追記。
私は見やすいようにコメントアウトで説明を書いています。

export PATH=$PATH:`npm bin -g`

escキー →:wqenterキーで保存し、viを抜けます。
$ source ~/.zshrcコマンドでやっと編集内容を反映できます。

何も出力されなければ反映成功なのですが、何故か私は反映できないと怒られてしまいました。

$ source ~/.zshrc
(not in PATH env variable)
/Users/xxx/.zshrc:export:129: not valid in this context: /Users/xxx/.nodebrew/node/v15.9.0/bin

PATH を直で書いてみる。

(省略)
# TypeScript
export PATH="/Users/xxx/.nodebrew/node/v15.9.0/bin$PATH"

再び$ souce ~/.zshrcで反映できました。

$ tsc --version
Version 4.1.5
  1. は以上です。

  1. iTerm2 では tsc コマンドが使えるが、VSCode で tsc コマンドが使えない場合

上記1のやり方で、tsc コマンドを iterm2 で使うことが可能になったわけですが、何故か VSCode のターミナルではcommand not foundのままだったので解決法を探ることに。

  1. VSCode の再起動
  2. Mac の再起動
  3. Node, TS を入れ直す

私は3でやっと直りました。

まず、npm をアンインストール

$ npm uninstall -g npm
$ rm -rf .npm \
>    node_modules

続いて Node のアンインストール。ソース版だとアンインストールの方法が違います。今までソース版を使っていた方はこれを気にパッケージ版で楽に管理しましょう!

$ brew uninstall --force node
...

# homebrewのアップデート
$ brew update

# nodebrewのインストール
$ curl -L git.io/nodebrew | perl - setup
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.zshrc

以下のコマンドを打ち、nodebrew のバージョンが出ればインストール成功。

$ nodebrew -v
nodebrew 1.0.1

Nodejs のインストール。

バージョン指定もしくは最新のものをインストールできます。
{}にどちらかを入力

  • v○.○.○(例 v6.11.4) → バージョン 6.11.4
  • latest → 最新“
$ nodebrew install-binary {}
...
Installed successfully

# インストールしたバージョンのものが入っているか確認
$ nodebrew ls
v15.9.0

# 使用するバージョンを指定する
$ nodebrew use v15.9.0

# 最後にNodeのバージョンを確認!
$ node -v
v15.9.0

やっとこれで再起動前と同じ状態のとこまで戻ってきました...

ためしに tsc コマンドを打ってみます。

$ tsc --version
zsh: command not found: tsc

もちろんできません。
最後に TypeScript をインストールしてあげましょう!

$ npm install typescript -g

$ tsc --version
Version 4.1.5

VSCode 上のターミナルでも問題なく使えました!
Zenn 使いやすいですね!よろしければフォローお願いいたします。


参考:PATH を通すとは?
参考: 'tsc command not found' in compiling typescript
参考:【Mac 版】node.js のアンインストールと再インストール手順メモ

GitHubで編集を提案

Discussion