Node.js
npm
ndenv

ndenv環境にグローバルコマンドをインストールしたときの落とし穴

多分、数ヶ月経って忘れた頃に悩むと思うので、メモメモ。

最近、手元のNode.js環境を、nodebrewからndenvに置き換えました。そこで、ちょっとprettierなるものが話題になっているらしいと聞き、試してみようと思いました。

npm install -g prettier

として、

prettier ./src/index.js

あれ?、、、そんなコマンドないって言われる。

which prettier

ってやってみても何も出てこない。試しに別のコマンドのパスを調べてみると

which gulp

ってやると

{ホームディレクトリ}/.anyenv/envs/ndenv/shims/gulp

ちゃんとある。gulpは普通に動く、、、

ところで.anyenv/envs/ndenv/shims/って何だ???多分、Node.jsのグローバルバージョンを管理してるフォルダっぽいけど、、、

と色々調べてましたが、次のコマンドで解決することがわかりました。

ndenv rehash

これやらないと.anyenv/envs/ndenv/shims/にグローバルコマンドが追加されないようです。

めでたし、めでたし。