我读到了这个:如何覆盖嵌套的 NPM 依赖版本?
不幸的是,它没有解决我的问题。
我正在尝试将一个包从使用特定的依赖项更改为使用该依赖项的另一个版本。
一个包内置了使用哪个版本的依赖关系吗?还是可以更改它?
在我的情况下,我正在尝试将 css-loader
的默认依赖项从 cssnano@3.10.0
(最新版本) 更改为依赖于 cssnano@4.0.0-rc.2
(下一步版本)。
从上面链接中的第二个答案中,用户 trickpatty 指出:
每次运行npm i时都将删除此内容,而不是编辑您的package-lock.json并向其中添加子依赖项,请将子依赖项添加到您的 package.json "dependencies" 部分。
在 package.json 的 devDependencies 中包含 cssnano@4.0.0-rc.2
对 css-loader
没有任何作用。它仍然使用其他(默认)版本的 cssnano
。
npm list cssnano
,你会看到有两个版本的cssnano被安装了,但是css-loader确实仍然依赖于较低的版本(它显示为“子文件夹”)。 - Magnusnode_modules
的顶层。如果我错了,我也很高兴。当时很高兴没有提供答案。_编辑:_我相当确定这就是我所看到的 ~ https://npm.github.io/how-npm-works-docs/npm3/how-npm3-works.html,显然我被搞混了。 - Phil