displayName
displayName

Reputation: 1106

Can I use one node_module folder for all angular2/4 projects

I am learning Angular and each time it takes like 5 minutes to create a new project because of 100MB folder "node_modules" which CLI creates. And the files in this folder are always the same (unless you add some dependencies which I never do). Is there a way to use one node_modules folder for every project?

Upvotes: 2

Views: 3008

Answers (3)

RidgeA
RidgeA

Reputation: 1546

You can install all dependencies globally or create a symlink from one place to every project.

BUT it is bad practice, correct way is to use separate node_modules for each project, even if you are using same packages. Once you will need use different versions of same package in different projects and common node_modules will cause a lot headache.

Try to use npm cache and npm install --prefer-offline if you just want to install package faster and don't care about version very match. I didn't use it but believe it should work.

Upvotes: 3

Sven
Sven

Reputation: 57

Only packages installed by node (npm install) can be in the node_modules folder. This is because, if someone wants to install your project, instead of downloading the whole project with the node_modules included. They type npm install.

Based on the packag.json the node_modules will now be downloaded to the node_modules folder.

So you can put angular in the node_modules folder if it is an npm package. No you cannot put your own files in this folder.

So you can just copy your package.json to every project and run npm install. Then all the node_modules will be the same.

Upvotes: 1

angularconsulting.au
angularconsulting.au

Reputation: 28309

Have a look in to https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/

Yarn Workspaces is a feature that allows users to install dependencies from multiple package.json files in subfolders of a single root package.json file, all in one go.

Making Workspaces native to Yarn enables faster, lighter installation by preventing package duplication across Workspaces. Yarn can also create symlinks between Workspaces that depend on each other, and will ensure the consistency and correctness of all directories.

npm install -g yarn

Upvotes: 5

Related Questions