JavaScriptのフレームワークであるVue.jsで開発業務をしている際に、『ENOSPC』というエラーに遭遇した。
yarn serve
コマンドを実行すると途中でエラーとなり、サーバーの起動が失敗してしまうのだ。
この記事では、エラーの内容と解決方法について紹介しているので、是非参考にしていただきたい。
エラー内容
yarn serve
実行時に出力されたエラーメッセージを以下に記載した。
環境等によって多少異なるかもしれないが、記載した例では12行目に『Error: ENOSPC』とあるのが確認できる。
$ yarn serve
yarn run v1.22.19
warning ../package.json: No license field
$ vue-cli-service serve --mode development
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
INFO Starting development server...
10% building 2/2 modules 0 activeevents.js:174
throw er; // Unhandled 'error' event
Error: ENOSPC: System limit for number of file watchers reached, watch '/home/username/dev/frontend/public'
at FSWatcher.start (internal/fs/watchers.js:165:26)
at Object.watch (fs.js:1258:11)
at createFsWatchInstance (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:38:15)
at setFsWatchListener (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:81:15)
at FSWatcher.NodeFsHandler._watchWithNodeFs (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:233:14)
at FSWatcher.NodeFsHandler._handleDir (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:429:19)
at FSWatcher.<anonymous> (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:477:19)
at FSWatcher.<anonymous> (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:482:16)
at FSReqWrap.oncomplete (fs.js:154:5)
Emitted 'error' event at:
at FSWatcher._handleError (/home/username/dev/frontend/node_modules/chokidar/index.js:260:10)
at createFsWatchInstance (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:40:5)
at setFsWatchListener (/home/username/dev/frontend/node_modules/chokidar/lib/nodefs-handler.js:81:15)
[... lines matching original stack trace ...]
at FSReqWrap.oncomplete (fs.js:154:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
ENOSPCとは、エラー番号であり『No space left on device』を意味している。
ディスク容量に十分な空き領域がなく不足していることが原因ということが推測できるだろう。
解決方法
結論、以下のコマンドを実行すると改善される。
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
コマンドを実行後、再度yarn serve
コマンドを試してみていただきたい。
正常に動作するようになるはずだ。
まとめ
以上、yarnに関するエラーについて解説した。
プログラミングにはエラーがつきものであり、エラーの内容をきちんと読むことが非常に大切である。
この記事が少しでも参考になると幸いだ。
他にもプログラミングに関する記事を多く公開しているので、合わせてご覧いただきたい。
簡単に誰でもアプリを作成!kintone(キントーン)で自分の持ち物を管理してみた
【プログラミングが捗る】ネーミング生成ツール「codic」を紹介!日本語を自動で英語の変数名に変換
最後まで目を通していただき、ありがとうございました。