状況
-
$ 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
対処
1. $ 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
1, $ tsc --version
としてもcommand not found
となる場合は以上です。
2. 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上のターミナルでも問題なく使えました!