我正在修复我的一个旧项目,我意识到webpack有问题。嗯,当我试图删除运行的版本时,我不知道它来自哪里,它继续出现
我已经尝试了npm unistall -g webpack
和npm uninstall [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
我还删除了node modules文件夹和package.lock.json文件。我已经清除了npm缓存npm cache clean --force
1条答案
按热度按时间aamkag611#
我不知道它从何而来
package.json
中的包可以有自己的依赖项(称为传递依赖项)。例如,如果你安装了axios-它将有自己的dependencies。
您可以跟踪
node_modules
文件夹中的任何软件包存在的原因。为此(假设您使用
npm
),您可以使用npm explain。email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)的
我不知道你从哪里得到的9.8.1版本,因为最新版本是email protected(https://www.npmjs.com/package/webpack?activeTab=versions)
我还删除了node modules文件夹和package.lock.json文件。我已经清除了npm缓存npm缓存clean --force
删除
node_modules
并重新安装软件包将不起作用(请参阅上面关于传递依赖项的内容)。package-lock.json
文件存储了版本的“锁”,因此当您删除node_modules
文件夹并再次安装软件包或在新环境中安装所有内容时,您始终会获得相同的版本。显然,
npm cache
是用于缓存的,所以当你运行npm install
时,你不需要再次下载相同的版本。如果您需要特定的
webpack
版本,请将其添加到package.json
中,例如:npm install [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
个如果你想完全删除它-找到这个包,它有自己的依赖,并删除这个包(不确定你想这样做)。
如果你想拥有一个特定的版本,但不想在你的依赖项中拥有它,你可以使用
package.json
文件的overrides
部分(请检查这个答案https://stackoverflow.com/a/67397982/12993263)。