1. ホーム
  2. javascript

[解決済み] Node.JS: エラーが発生しました。[nodemon] 内部ウォッチに失敗しました: watch ENOSPC

2022-04-22 12:49:42

質問

をインストールしたところです。 Node.js を私の Ubuntu 14.04 オペレーティングシステムを初めて使用しました。また npm . 私のインストール作業の次のステップは nodemon . これはすべてうまくいきました。


しかし nodemon を入力することで nodemon app.js をコマンドラインに入力すると、次のようなエラーが発生します。

[nodemon] 1.8.1 [nodemon] to restart at any time, enter rs [nodemon] watching: *.* [nodemon] starting ノード app.js [nodemon] Internal watch failed: watch ENOSPC

エラーの下のコマンドラインでは...

alopex@Alopex:~/Desktop/coding_dojo/week-9/javascript/node/testing_node$ Hello World

なぜこのようなことが起こるのでしょうか?これはnodemonの正常な動作なのでしょうか?そうでない場合、どのように私はそれを修正することができますか?


余談ですが...

1) app.jsJavascript とのファイル console.log(111) の中にある。

2) node バージョンは v0.10.25

3) npm バージョンは 1.3.10

4) nodemon バージョンは 1.8.1

5) ubuntu のバージョンは...

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

解決方法は?

私の最大ポートが正しく設定されていなかったようです。以下のコードを実行したところ、うまくいきました...

echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

このコマンドが行うのは、1人のユーザーに許可される時計の数を増やすことです。デフォルトでは、この数は低く設定されています(例:8192)。このコマンドは nodemon 大量のディレクトリの変更を監視しようとすると、いくつかのウォッチを作成する必要があり、この制限を超える可能性があります。

また、この問題を解決するために

sudo sysctl fs.inotify.max_user_watches=582222 && sudo sysctl -p

しかし、最初に書かれた方法で、この変更は永久に続くことになります。