Node.js × Express × Nodemon でつくる! 簡単 Web アプリケーション開発入門
Nodemon が動作しない:-bash: nodemon: command not found の解決策
Nodemon を使用して Node.js アプリケーションを実行しようとすると、以下のエラーメッセージが表示されます。
-bash: nodemon: command not found
原因:
このエラーは、Nodemon がインストールされていないか、PATH 環境変数に含まれていないことを示します。
解決策:
以下の手順で問題を解決できます。
Nodemon をインストールする:
npm install -g nodemon
PATH 環境変数に Nodemon のディレクトリを追加する:
方法 1:
export PATH="$PATH:$(npm bin)"
- ターミナルを開きます。
echo $PATH
コマンドを実行して、現在の PATH 環境変数の値を確認します。
export PATH="$PATH:<nodemon_directory>"
例:
export PATH="$PATH:/usr/local/bin"
nano ~/.bashrc
またはnano ~/.zshrc
コマンドを実行して、bashrc または zshrc ファイルを開きます。- 以下の行を追加します。
export PATH="$PATH:$(npm bin)"
- ファイルを保存して閉じます。
以下のコマンドを実行して、Nodemon を使用して Node.js アプリケーションを実行できます。
nodemon <your_script.js>
nodemon app.js
補足:
- Nodemon は、Node.js アプリケーションに変更を加えたときに自動的にアプリケーションを再起動するツールです。
- Nodemon を使用するには、Node.js と npm がインストールされている必要があります。
- 上記の手順で問題が解決しない場合は、Node.js と npm のバージョンが古い可能性があります。最新バージョンにアップデートしてみてください。
- また、Nodemon のインストール場所が PATH 環境変数に含まれていない可能性もあります。
npm bin
コマンドを実行して、Nodemon のインストール場所を確認し、PATH 環境変数に追加してください。
Nodemon を使用した Express アプリケーションのサンプルコード
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello from Nodemon!');
});
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
このコードをどのように使用するか:
- 上記のコードを
app.js
などのファイルに保存します。 - ターミナルを開き、以下のコマンドを実行します。
nodemon app.js
- ブラウザで
http://localhost:3000
にアクセスすると、「Hello from Nodemon!」というメッセージが表示されます。
コードの説明:
const express = require('express');
: Express モジュールをインポートします。const app = express();
: Express アプリケーションを作成します。const port = 3000;
: アプリケーションが使用するポート番号を定義します。app.get('/', (req, res) => {
: ルートパス (/
) への GET リクエストを処理するルートハンドラーを定義します。res.send('Hello from Nodemon!');
: レスポンスに「Hello from Nodemon!」というメッセージを送信します。app.listen(port, () => {
: 指定されたポートでサーバーを起動します。console.log(
Server listening on port ${port});
: サーバーが起動したことをコンソールにログ出力します。
このコードは、Nodemon を使用して Express アプリケーションを開発するための基本的な例です。
- このコードを拡張して、他のルートや機能を追加できます。
- Nodemon の設定オプションを使用して、Nodemon の動作をカスタマイズできます。
Nodemon を実行するその他の方法
npx を使用する:
npx は、Node.js パッケージをインストールせずにローカルで実行できるコマンドラインツールです。以下のコマンドを実行して、npx を使用して Nodemon を実行できます。
npx nodemon <your_script.js>
npx nodemon app.js
package.json スクリプトを使用する:
package.json ファイルにスクリプトを追加して、Nodemon を実行できます。以下の例では、start
という名前のスクリプトを追加して、Nodemon を使用して app.js
ファイルを実行します。
{
"scripts": {
"start": "nodemon app.js"
}
}
このスクリプトを実行するには、以下のコマンドを実行します。
npm start
--dev オプションを使用する:
Nodemon をインストール時に --dev
オプションを使用すると、グローバルにインストールされずに開発依存関係としてインストールされます。この場合、以下のコマンドを実行して Nodemon を実行できます。
./node_modules/.bin/nodemon <your_script.js>
./node_modules/.bin/nodemon app.js
Yarn は、Node.js パッケージを管理するためのもう 1 つのツールです。Yarn を使用して Nodemon をインストールするには、以下のコマンドを実行します。
yarn add -D nodemon
Yarn を使用して Nodemon を実行するには、以下のコマンドを実行します。
yarn run start
npm start
node.js bash express