One efficient way to deal with this problem is by ignoring the `node_modules` in your project. Most version control systems offer mechanisms to exclude specified files or directories. In Git, for example, this can be done by using a `.gitignore` file. This file specifies both file and directory patterns which Git should ignore, keeping your project clean and significantly smaller.
Now, let’s proceed with a step by step walkthrough of the solution to understand it in a deeper level.
1. First, you should make sure you are in the root directory of your project where the `node_modules` resides. You may use the following command: ```sh cd /path/to/your/project ``` 2. Next, all you've got to do is create a file named `.gitignore` in your project root, via a simple touch command: ```sh touch .gitignore ``` 3. Then, open the newly created `.gitignore` file in your preferred text editor: ```sh nano .gitignore ``` 4. Inside this file, simply add: `node_modules/`. This tells Git to ignore the `node_modules` directory.
The `.gitignore` file is a powerful tool for developers using Git as their version control system. It’s simple, yet sophisticated. The patterns in this file are matched against files and directories in your repository, and those that match, are ignored by Git. This means, Git won’t track their changes, and won’t include them in your commits, pushing, or pulling actions.
- Each line in `.gitignore` specifies a pattern. For example `*.tmp` will ignore all .tmp files.
- Lines starting with `#` are comments and have no effect at all.
- Directory names end with a `/`, like `node_modules/`.
- A pattern starting with `!` negates the pattern, making Git not ignore the matching files.
npm and package.json
- The `dependencies` key in your `package.json` specifies packages required for your application to run.
- The `devDependencies` key specifies packages needed only for developing your application, like testing libraries.
By just simply running `npm install`, npm fetches all the packages mentioned in `package.json` and installs them inside the `node_modules` directory. So, even if we ignore the `node_modules` directory in our version control system, we can always fetch our project’s dependencies from the `package.json` file.