ChatGPT解决这个技术问题 Extra ChatGPT

How do you reinstall an app's dependencies using npm?

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
In case it helps others: If you're just trying to reinstall one package, npm update <packageName> works great

V
Vadim Baryshev

The easiest way that I can see is delete node_modules folder and execute npm install.


Agreed; assuming you've created a package.json file for your app.
Beware that running npm install after removing the node_modules directory can result different versions of dependencies defined in package.json being pulled down. If you require very specific versions of dependencies for your app, be careful and look into npm shrinkwrap or checking in your node_modules directory to source control.
@smithclay I've defined the explicit version of the packages in my app's package.json, so that should be fine, right?
@vadim I was doing some testing on the behavior of npm install and it always reinstalls dependencies and upgrades packages to latest versions as permitted by package.json. So removing node_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 execute npm prune instead
@himanshu you are right npm 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.
S
Sam Pierce Lolla

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.


But if there is no newer package then this won't do anything, right? I'm trying to force reinstall even if the package is already at latest version.
If there are no missing packages, then it will check if it can use latest versions of packages (including dependencies of the packages) listed in package.json . So, in essence it will upgrade packages if possible. But it will not reinstall. If you want to do it using commands you can execute npm uninstall <package_name> to uninstall specific package or execute npm uninstall to uninstall all packages.
I tried doing just npm uninstall without specifying a package but that throws an error.
The link you provide is dead, can you please supply a new one? (I found this but I'm not sure it's acceptable to change to it)
No, that's not the right way and it's not an answer to the question. The question is how to reinstall and not how to update to latest version. I need to downgrade.
0
0x1ad2

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.


D
Dominykas Mostauskis

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.


O
Olivia Stork

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


My experience is that this doesn't work. The docs say that it does, but it simply doesn't.
J
Jaa H
d
deksden

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+)


@g00glen00b I've edited so that it now does include useful information without hyperlinks
S
Surender Kumar

Delete node_module and re-install again by command

rm -rf node_modules && npm i

m
michal.jakubeczy

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.


C
Chukwu3meka

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