nodemonが使えない!?npmでインストールしたのに「command not found」になる理由【nodenv環境】

目次

はじめに

Progateの課題でNode.jsのWebアプリを作っているとき、
便利そうな nodemon を使ってみようと思いました。

npm install -g nodemon

これでOK!…と思いきや。

zsh: command not found: nodemon

え!?なんで!?😱
グローバルにインストールしたのに使えないなんて…。

原因:パスが通っていなかった!

調べてみると、どうやら「インストールはできているけど、コマンドとして認識されていない」状態のようです。

まず試しに以下のコマンドで、npmのグローバルインストール先を確認してみました。

npm config get prefix

すると表示されたのがこちら:

/Users/xxxxx/.nodenv/versions/22.12.0/lib

見慣れないパス…と思ったら、私の環境では nodenv というNode.jsのバージョン管理ツールを使っていて、
Node.jsもnpmもこの .nodenv の中にインストールされていたんですね。

つまり nodemon も、この中に入っていたということでした。

解決法:.zshrc にパスを通す!

グローバルで使えるようにするためには、
このディレクトリ内の bin/ フォルダにパスを通す必要があります。

STEP
以下のコマンドでbinの場所を確認
ls ~/.nodenv/versions/22.12.0/bin

→ 中に nodemon が入っていればOK!

STEP
.zshrc に以下を追記
export PATH="$HOME/.nodenv/versions/22.12.0/bin:$PATH"
STEP
反映させます
source ~/.zshrc
STEP
動作確認
nodemon -v

これでバージョンが表示されれば成功です!🎉

補足:npx を使うという手もある

パスを通さなくても、こうすれば一時的に使えます。

npx nodemon app.js

実はこれでも十分便利。私はしばらくこの方法でも使っていました。

Finderで隠しフォルダを見る方法

もしFinderで .nodenv フォルダが見えない場合は、
Macで command + shift + .(ドット) を押すと、隠しフォルダが表示されますよ!

学びとまとめ

  • npm install -g しても、環境によってはパスが通ってないことがある
  • nodenvnvm を使っている場合は、インストール先が通常と異なる
  • エラーが出たら「どこに入ったのか」「どこが通ってないのか」を確認するクセをつけたい!

小さなトラブルでしたが、自分の環境の仕組みを理解する良い機会になりました🌱
同じようにつまずいた方のヒントになればうれしいです🌷

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

2歳の娘と夫との3人暮らし
働きながら、不動産・副業・Webスキル習得をコツコツ継続中
理想の暮らしと働き方を目指して、等身大の学びをシェアしています

コメント

コメントする

目次