npm 强制更新浏览器列表

4uqofj5v  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(185)

运行以下cli命令时

npx browserslist@latest --update-db

我收到以下错误:

Error: Command failed: npm install caniuse-lite
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve

...

npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

通常,我在运行npm install --force时使用--force标志,但是,我没有找到一种方法来使上面提到的cli命令使用此标志运行。
是否有环境参数或标志可以帮助我?
顺便说一句,我不想使用以下命令:

npm install caniuse-lite@latest --force

因为我是在pre-commit钩子中运行它的,这个命令没有暂存它,而我认为第一个命令是暂存它的。
如果其他人有办法自动更新browserslistcaniuse-lite,或者在它们过期时抑制它们的警告,那也会很有用。

hmmo2u0o

hmmo2u0o1#

在NodeJS/npm更新到最新的LTS版本后面临同样的问题。
根据this explanation,根本原因是当遇到冲突的peerDependencies时,npm行为发生了变化(警告现在是错误)。
到目前为止,我们已经通过将.npmrc(npm配置文件)添加到我们项目的根目录下解决了这个问题,下一行:

legacy-peer-deps[] = true

来源:链接

相关问题