How To Remove node_modules from GitHub

How To Remove node_modules from GitHub


Node.js, a popular runtime environment for executing JavaScript code outside the browser, relies on external packages called “node modules” to extend its functionality. These modules are essential for building robust applications efficiently. However, including node modules in your version control system (e.g., Git) can lead to bloated repositories and version conflicts. To avoid these issues, developers often choose to ignore node modules. In this article, we’ll explore why and how node modules are ignored in simple words.

Why Ignore Node Modules?

  • Size and Performance: Node modules can be substantial in size, particularly when your project depends on multiple third-party packages. Committing them to version control will inflate the repository size, leading to slow cloning and increased network traffic for collaborators.
  • Rapid Changes: Node modules are regularly updated with new versions and bug fixes. Storing them in version control can create conflicts, as different collaborators may be using different versions of the same package.
  • Unnecessary Redundancy: Node modules can be easily reinstalled using a package manager like npm (Node Package Manager) or Yarn based on the dependencies listed in the package.json file. Storing them in version control is redundant and wastes storage space.

Ignoring Node Modules Using .gitignore

The .gitignore file is a powerful tool to specify which files and directories should be excluded from version control. To ignore node modules, follow these steps:

Step 1: Create a .gitignore file

In your project’s root directory, create a new file named .gitignore. This file will contain a list of patterns for files and folders you want to exclude from version control.

Step 2: Add “node_modules” to .gitignore

Open the .gitignore file using a text editor and simply add the following line:


This line tells Git to ignore the entire node_modules directory and any subdirectories or files within it.

Step 3: Save and Commit

Save the .gitignore file and commit it to your version control system. From this point onwards, Git will not track any changes inside the node_modules directory.

Ignoring Node Modules Using .npmignore

While .gitignore is for version control, you can also use .npmignore if you only want to exclude certain files and directories when publishing your package to the npm registry. The steps are similar:

Step 1: Create a .npmignore file

In your project’s root directory, create a new file named .npmignore.

Step 2: Add unwanted files to .npmignore

Open the .npmignore file and add any specific files or directories you want to exclude from the npm package.

Step 3: Save and Publish

Save the .npmignore file. When you publish your package to the npm registry, npm will ensure that the files listed in .npmignore are not included in the published package.

GitHub’s ignore file

Git will now disregard your node modules/ folder subfolder as a result of your operation. This functions even if the same folder structure has many node modules/ directories that are contained within other subfolders.

How can node modules be manually unhidden?

The extension takes advantage of a configuration in the VSCode settings, so if a folder or workspace in VSCode is opened without the Hide Node Modules extension but has previously been used to conceal the node modules folder, VSCode will keep it hidden. A JSON file regulates the node modules’ subdirectory’s visibility.

Unhide the node modules subdirectory as follows without using the extension:

Go to the.vscode folder and open the settings.json file.

Look for the line “**/node modules”: true in “files.exclude.”

Put “false” in place of “**/node modules.”

Save the file securely.

Now, the explorer ought to provide access to the node modules folder.


Ignoring node modules is a common practice among developers to keep their version control repositories clean, efficient, and free from unnecessary redundancy. By using .gitignore or .npmignore, you can easily exclude node modules from version control and improve collaboration with other developers. Remember that ignoring node modules in version control does not impact your project’s functionality, as they can always be installed again using the package manager based on the package.json file’s dependencies. Happy coding!

Related Articles:

How is Java used in Web Development ?

How to Recursively Change the File Permission in Linux?

How Does Photoanalysis Work? And Why Is It Using So Much CPU Power?

    Leave a Comment

    Your email address will not be published. Required fields are marked *