🤖
asdfで管理しているnodejsでインストールしたglobalなパッケージがcommand not foundとなる場合
結論
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