How to fix [nodemon] app crashed – waiting for file changes before starting…

“[nodemon] app crashed” indicates that something went wrong with your Node.js application during execution, resulting in a crash. Nodemon as a monitoring tool, waits for any changes in your project files before attempting to restart the failed application. When an error occurs, Nodemon stops the execution of your application and logs the crash to the console. It does not restart the program immediately but rather waits for changes to the project files.

This functionality is useful during development since it allows you to analyze error warnings, make appropriate code changes, and then see the results when Nodemon restarts the server

Introduction to Nodemon

During the Node.js development process, developers are required to make several changes in the running code. To make the updates take effect, the Node.js server needs to be restarted repeatedly and to solve this issue developer uses Nodemon.

Nodemon is a powerful tool for Node.js development which is a CLI tool made by @rem to automatically restart the application server whenever the code is updated.

For an in-depth exploration of Nodemon and its features, we recommend visiting – Update Code Without Restarting Node Server

Resolving the Nodemon App Crashed Issue

The error “[nodemon] app crashed – waiting for file changes before starting…” occurs for multiple reasons. Let’s understand why they occur and how we can solve them.

Method 1: Terminate all Node.js Process

The primary cause of this issue “[nodemon] app crashed” is when many Node.js processes are operating in the background, which collide and generate the error.

To resolve this, try to stop all Node.js processes by manually terminating any existing Node.js processes using a task manager or using command-line tools and restarting Nodemon.

Ways to stop all Node.js processes on Windows:

1. Using Task Manager

Step 1) Open Task Manager and locate Node.js processes.

Step 2) Select each Node.js process you want to terminate, then click right and choose “End-task”:

Image of Task Manager to kill all Node.js process

2. Using Command Prompt

Step 1) To kill all the processes of Node.js we can write the following command in the command prompt:

taskkill /F /IM node.exe
Image of Command Prompt to kill all process

Step 2) Restart your Nodemon development server after stopping all Node.js processes.

Method 2: Fix Error in the Code

You may be encountering a Nodemon crash because of the syntax error. Nodemon crash happens when a syntax issue in the codebase prevents the program from operating normally. This approach helps developers by giving them the information of the syntax error, which helps them to solve the error. Without requiring manual involvement, Nodemon guarantees that developers may quickly resolve problems, fix code faults, and get on with the development process.

In this example, you can see that there is a syntax error:

Image of Syntax error

In the above example, you are seeing an error message “ReferenceError: first is not defined” in the console output, it indicates that there is a reference to a variable named “first” in your code, but it has not been declared.

The only way to resolve the issue is to solve the error by defining the variable before using it and restarting the Nodemon.

Important Note: Developers should pay attention to console output, particularly error messages linked to syntax errors. If your application breaks and Nodemon reports an issue, it is most likely due to a syntax problem, with specifics supplied in the error message.

To explore more about syntax errors visit – NodeJS Errors

Method 3: Proper Path to the File

When utilizing Nodemon in a Node.js development environment, specifying an incorrect path in the script object inside the package.json file can lead to the application crashing. To address this issue, it is essential to double-check the command you are using to launch Nodemon and ensure that the file path is right. A mistake or an improper file path may cause the crash.

Image of package.json file

The dev command inside the script object in package.json directs Nodemon to a file named index.js (the centre point of the application), which is placed in the same directory as package.json.

Suppose, the index.js file is inside the app directory then the ‘dev’ script be like this:

"scripts":{
    "dev": "nodemon ./app/index.js"
}

Important Note: Ensuring the correct path to your files is crucial to preventing Nodemon app crashes. Double-check and verify that the file paths in your Nodemon configuration or command are accurate and match the actual structure of your project. Incorrect paths may result in a Nodemon app crash.

Conclusion

By adding these techniques to your Node.js development workflow, you may proactively avoid and address the “[nodemon] app crashed” problem, resulting in a more efficient and productive coding experience. As you use these tactics, you help to build a strong development environment, allowing Nodemon to fulfil its duty as a dependable tool for automated server restarts and simplified workflow.

Reference

https://stackoverflow.com/questions/37486631/nodemon-app-crashed-waiting-for-file-changes-before-starting

Anurag Pandey
Anurag Pandey
Articles: 16