🤖

asdfで管理しているnodejsでインストールしたglobalなパッケージがcommand not foundとなる場合

2022/05/15に公開

結論

asdf reshim nodejs しましょう。

経緯

例えばNestJSのcliをasdfでインストールしてみました。

yarn global add @nestjs/cli
- or -
npm install @nestjs/cli -g

インストールしたnestのcliを実行しようとしても、not foundと言われてしまいます。

nest new hogehoge
zsh: command not found: nest

nestのバイナリーが置かれているディレクトリを覗いてみましょう。

yarn global bin
/Users/k3ntar0/.asdf/installs/nodejs/lts-gallium/.npm/bin
- or -
npm -g bin    
/Users/k3ntar0/.asdf/installs/nodejs/lts-gallium/.npm/bin

つまり、私のMacで asdf によって global で有効化されている lts-gallium (Node.js v16 LTS版)の中にあるディレクトリに配置されています。

これにPATHをその都度通すのは大変ですが、asdfには reshim という便利な機能が用意されています。

asdf reshim nodejs

Discussion