状況
$ 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 --versionVersion 4.1.5
1は以上です。
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 -vnodebrew 1.0.1
Nodejsのインストール。
バージョン指定もしくは最新のものをインストールできます。
{}に次のどちらかを入力
- v○.○.○(例v6.11.4) → バージョン6.11.4
- latest → 最新“
$nodebrew install-binary {}...
Installed successfully
#インストールしたバージョンのものが入っているか確認
$nodebrew lsv15.9.0
#使用するバージョンを指定する
$nodebrew use v15.9.0
#最後にNodeのバージョンを確認!
$node -vv15.9.0
やっとこれで再起動前と同じ状態のとこまで戻ってきました...
ためしにtscコマンドを打ってみます。
$tsc --versionzsh: command not found: tsc
もちろんできません。
最後にTypeScriptをインストールしてあげましょう!
$npm install typescript -g$tsc --versionVersion 4.1.5
VSCode上のターミナルでも問題なく使えました!