あれ?あのコマンド、NPMでグローバルインストールしたはずなのに、パスが通ってない!これじゃターミナルから叩け無い!どうしよう!というやつ。
備忘録として書いておく。
つまり
$ npm install -g @hoge/cli
をしても
$ hogecli
bash: hogecli: command not found
になるとき。
確認する
$ which npm
/Users/{{username}}/.anyenv/envs/nodenv/shims/npm
nodenvのshims下に入っていればOK
$ ls /Users/{{username}}/.anyenv/envs/nodenv/shims
bower express firebase nest ng node node-gyp npm npx vue
所望のパッケージコマンドが、ここにないことを確認する。
PATHではここを見に行ってるので、ここになければ、コマンドは見つからない。
なお、それぞれはコマンドと同名のシェルスクリプトで、環境をセットしたのち、実際のbinの呼び出しを行ってくれる。
rehash
$ rm /Users/{{username}}/.anyenv/envs/nodenv/shims/.nodenv-shim
$ nodenv rehash
これで再び /Users/{{username}}/.anyenv/envs/nodenv/shims
下にコマンド名のシェルスクリプトが生成される。