Is there a simple way to reinstall all packages that my app depends on (i.e. they are in my apps node_modules folder)?
npm rebuild
might also help some issues with native dependencies
npm update <packageName>
works great
The easiest way that I can see is delete node_modules
folder and execute npm install
.
The right way is to execute npm update
. It's a really powerful command, it updates the missing packages and also checks if a newer version of package already installed can be used.
Read Intro to NPM to understand what you can do with npm.
npm uninstall <package_name>
to uninstall specific package or execute npm uninstall
to uninstall all packages.
npm uninstall
without specifying a package but that throws an error.
Most of the time I use the following command to achieve a complete reinstall of all the node modules (be sure you are in the project folder).
rm -rf node_modules && npm install
You can also run npm cache clean
after removing the node_modules
folder to be sure there aren't any cached dependencies.
You can do this with one simple command:
npm ci
Here's an excerpt from npm ci
documentation:
In short, the main differences between using npm install and npm ci are: The project must have an existing package-lock.json or npm-shrinkwrap.json. If dependencies in the package lock do not match those in package.json, npm ci will exit with an error, instead of updating the package lock. npm ci can only install entire projects at a time: individual dependencies cannot be added with this command. If a node_modules is already present, it will be automatically removed before npm ci begins its install. It will never write to package.json or any of the package-locks: installs are essentially frozen.
npm
updated the CLI command for install
and added the --force
flag.
npm install --force
The --force
(or -f
) argument will force npm
to fetch remote resources even if a local copy exists on disk.
See npm install
As of npm cli v6.5.0 you can use the backronym:
npm clean-install
Sources:
https://github.com/npm/cli/releases/tag/v6.5.0 https://github.com/npm/cli/commit/fc1a8d185fc678cdf3784d9df9eef9094e0b2dec
You can use the reinstall module found in npm.
After installing it, you can use the following command:
reinstall
The only difference with manually removing node_modules
folder and making npm install
is that this command automatically clear npm's cache. So, you can get three steps in one command.
upd: npx reinstall
is a way to run this command without globally installing package (only for npm5+)
Delete node_module and re-install again by command
rm -rf node_modules && npm i
For Windows you can use
(if exist node_modules rmdir node_modules /q /s) && npm install
which removes node_modules
directory and performs npm install
then. Removal before install assures that all packages are reinstalled.
Follow this step to re install node modules and update them
works even if node_modules folder does not exist. now execute the following command synchronously. you can also use "npm update" but I think this'd preferred way
npm outdated // not necessary to run this command, but this will show outdated dependencies
npm install -g npm-check-updates // to install the "ncu" package
ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version
npm install: will install dependencies in your package.json file.
if you're okay with the version of your dependencies in your package.json file, no need to follow those steps just run
npm install
Success story sharing
package.json
file for your app.npm install
after removing thenode_modules
directory can result different versions of dependencies defined inpackage.json
being pulled down. If you require very specific versions of dependencies for your app, be careful and look intonpm shrinkwrap
or checking in yournode_modules
directory to source control.npm install
and it always reinstalls dependencies and upgrades packages to latest versions as permitted by package.json. So removingnode_modules
folders is not needed unless you think its corrupted. Is there a reason you think it should be removed? However, if the intent is to remove any packages that are extraneous then you could executenpm prune
insteadnpm install
upgrades all modules to package.json state. But the question is how to reinstall all packages. So they may be corrupted or may need to rebuild the binary parts after upgrade node.js verison.