過去に npm i -g
でインストールしたコマンドが、ある日突然使えなくなってしまったときの原因と対処法を書いていきます。
npm i -g
のインストール先を調べる
❯ npm prefix -g
usr/local/Cellar/node/11.2.0
npm install --global
や npm i -g
では、上記のコマンドを叩いて表示されるパスの先にインストールされます。
インストール先がどうなっているかを見る
❯ ls $(npm prefix -g)
AUTHORS LICENSE etc/ libexec/
CHANGELOG.md README.md include/ share/
INSTALL_RECEIPT.json bin/ lib/
コマンドは bin
の配下にあります。
❯ ls $(npm prefix -g)/bin
bin/ lib/ ncc node now npm share/
このコマンドが実行できないということは、ここにパスが通っていないことになります。
パスを通す
export PATH="$PATH:$(npm -g prefix)/bin"
を .bashrc
や .zshrc
に追加すれば、コマンドが使えるようになります!
まとめ
実は、ある日突然に僕のShellで、コマンドが使えなくなってしまいました。
同じような事件に遭遇した人のために、その時の対処法を記事にしたものです。
僕は usr/local/Cellar/node/11.1.0
にインストールされていました。
それが、nodeのバージョンを変えたタイミングかなにかでインストール先が変わってしまったのが原因だと思います。
パスを $(npm -g prefix)/bin
で指定するよりもっとマシな方法があると思うので、知っている人はコメント欄などで教えてくださると助かります