【TypeScript】tscコマンドが使えない時の対処法
状況
-
$ npm i typescript -g
した後に$ tsc --version
としてもcommand not found
となる場合 - iTerm2 では tsc コマンドが使えるが、VSCode で tsc コマンドが使えない場合
Too Long, Didn’t Read
- PATH を通す
- 再起動、Node の再インストール
環境
- MacOS Big Sur v11.2.1
- node v15.9.0
- npm v7.5.3
対処
-
$ 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
キー →:wq
→enterキー
で保存し、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
- は以上です。
- iTerm2 では tsc コマンドが使えるが、VSCode で tsc コマンドが使えない場合
上記1のやり方で、tsc コマンドを iterm2 で使うことが可能になったわけですが、何故か VSCode のターミナルではcommand not found
のままだったので解決法を探ることに。
- VSCode の再起動
- Mac の再起動
- 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 のアンインストールと再インストール手順メモ
Discussion