最近,当我编译我的scss文件时,我得到一个错误。错误信息如下:

Browserslist: canius -lite已经过时。请运行下一个命令npm update canius -lite browserslist

首先,正如消息所说,我运行npm update canius -lite browserslist,但它没有解决这个问题。 我删除了整个node_modules目录并重新安装,我也通过npm update更新了整个文件夹,但没有一个解决了这个问题。 我还重新安装了autoprefixer和browserslist,但没有一个解决问题。

如果我移除

"options": {
      "autoPrefix": "> 1%"
    }

从我的编译配置。Json,一切都很好,这意味着它可能与autoprefixer有关。另外,我手动将包版本更改为包上的最新版本。Json和重新安装,但没有运气。


当前回答

如果你使用纱线:

yarn upgrade

帮帮我吧

其他回答

删除node_modules并重新安装(npm i)对我有用。没有删除package-lock.json。

我不太确定我的问题在哪里,但我相信这是因为我使用了npm和Yarn中相同的全局包。

我卸载了所有的npm全局包,当再次使用yarn命令时,问题就消失了。

要查看已安装的全局包…

npm:

npm ls -g --depth=0

纱:

yarn global list

然后我卸载了我在npm列表中看到的每个包,使用:

npm uninstall -g <package-name>

最小的解决方案,为我目前的项目工作

一个创建-反应-应用程序项目 Ubuntu / *nix 2020 节点14.7

删除项目中的node_modules/browserslist目录

now

npm run build

不再生成该消息

很多人建议你把包裹锁拆了。Json或yarn.lock。这显然是个坏主意!

我正在使用Yarn,我能够通过删除我的Yarn中的caniuse-db和caniuse-lite条目来纠正这个问题。锁和做纱。

没有必要通过删除锁文件来破坏锁文件的主要功能。

下面的步骤对我很有效

Rm -rf node_modules/ 纱 纱线升级caniuse-lite浏览器列表 重新启动服务器并清除浏览器缓存。