Javascript BrowserslistError:未知的浏览器kaios

Javascript BrowserslistError:未知的浏览器kaios,javascript,reactjs,react-scripts,Javascript,Reactjs,React Scripts,我已经更新了我的项目以使用node和Thread的最新版本,在这次升级之后,我的react项目不想使用“browserslist” 我运行“纱线开始”并得到以下错误: ./src/assets/css/material-dashboard-react.css?v=1.2.0 (./node_modules/css-loader??ref--6-oneOf-3-1!./node_modules/postcss-loader/src??postcss!./src/assets/css/materia

我已经更新了我的项目以使用node和Thread的最新版本,在这次升级之后,我的react项目不想使用“browserslist”

我运行“纱线开始”并得到以下错误:

./src/assets/css/material-dashboard-react.css?v=1.2.0 (./node_modules/css-loader??ref--6-oneOf-3-1!./node_modules/postcss-loader/src??postcss!./src/assets/css/material-dashboard-react.css?v=1.2.0)
BrowserslistError: Unknown browser kaios
    at Array.reduce (<anonymous>)
    at Array.some (<anonymous>)
    at Array.filter (<anonymous>)
    at new Promise (<anonymous>)
/src/assets/css/material dashboard react.css?v=1.2.0(./node_modules/css loader??ref--6-oneOf-3-1!。/node_modules/postss loader/src??postss!。/src/assets/css/material dashboard react.css?v=1.2.0)
BrowserslistError:未知的浏览器kaios
在Array.reduce()处
at Array.some()
在Array.filter()处
在新的承诺()
我有以下版本:

  • 节点v10.15.3
  • npm 6.9.0
  • 纱线v1.15.2
还有my package.json

{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "3.9.3",
    "@material-ui/icons": "3.0.2",
    "axios": "0.18.0",
    "classnames": "2.2.6",
    "html2canvas": "^1.0.0-alpha.12",
    "immutable": "3.8.2",
    "jspdf": "^1.4.1",
    "jspdf-autotable": "^2.3.5",
    "moment": "2.22.2",
    "npm-run-all": "4.1.5",
    "perfect-scrollbar": "1.4.0",
    "plotly.js": "1.47.1",
    "react": "^16.6.3",
    "react-currency-format": "1.0.0",
    "react-dates": "18.2.2",
    "react-dom": "^16.6.3",
    "react-excel-workbook": "0.0.4",
    "react-google-maps": "9.4.5",
    "react-plotly.js": "2.3.0",
    "react-redux": "6.0.0",
    "react-router": "4.3.1",
    "react-router-dom": "4.3.1",
    "react-scripts": "2.1.8",
    "react-select": "2.1.2",
    "react-swipeable-views": "0.13.1",
    "redux": "4.0.1",
    "redux-immutable": "4.0.0",
    "redux-persist": "5.10.0",
    "redux-thunk": "2.3.0",
    "weather-icons": "^1.3.2"
  },
  "scripts": {
    "start": "react-scripts --max-old-space-size=8192 start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "browserslist": [
    ">1%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}
{
“名称”:“前端”,
“版本”:“0.1.0”,
“私人”:没错,
“依赖项”:{
“@material ui/core”:“3.9.3”,
“@material ui/图标”:“3.0.2”,
“axios”:“0.18.0”,
“类名”:“2.2.6”,
“html2canvas”:“^1.0.0-alpha.12”,
“不可变”:“3.8.2”,
“jspdf”:“^1.4.1”,
“jspdf自动表格”:“^2.3.5”,
“时刻”:“2.22.2”,
“npm全部运行”:“4.1.5”,
“完美滚动条”:“1.4.0”,
“plotly.js”:“1.47.1”,
“反应”:“^16.6.3”,
“反应货币格式”:“1.0.0”,
“反应日期”:“18.2.2”,
“react dom”:“^16.6.3”,
“react excel工作簿”:“0.0.4”,
“反应谷歌地图”:“9.4.5”,
“react plotly.js”:“2.3.0”,
“react redux”:“6.0.0”,
“反应路由器”:“4.3.1”,
“反应路由器dom”:“4.3.1”,
“反应脚本”:“2.1.8”,
“反应选择”:“2.1.2”,
“react swipeable视图”:“0.13.1”,
“redux”:“4.0.1”,
“redux不可变”:“4.0.0”,
“redux持久化”:“5.10.0”,
“redux thunk”:“2.3.0”,
“天气图标”:“^1.3.2”
},
“脚本”:{
“开始”:“反应脚本--最大旧空间大小=8192开始”,
“构建”:“反应脚本构建”,
“测试”:“反应脚本测试--env=jsdom”,
“弹出”:“反应脚本弹出”
},
“浏览者”:[
">1%",
“没有死”,

“不是ie我今天也遇到了这个错误。这个问题似乎与
postsss preset env
有关。从postsss插件列表中删除它解决了我的问题


我决定继续使用
autoprofixer
postsss自定义属性
,而不是
postsss预设环境

,我查看了代码,这是因为
caniuse
的更新支持Kai操作系统的查询(我想是印度的一些移动操作系统吧?)因此,如果您今天添加了
postss preset env
,并将
caniuse lite
作为以前安装的某些软件包的依赖项,您可能会遇到错误

博士
移除node_模块并锁定,然后再次安装所有依赖项

我面临同样的问题,通过将
包中的
caniuse lite
版本与上一个版本一起修复,我能够解决该问题

附加到
package.json

  "resolutions": {
    "caniuse-lite": "1.0.30000957"
  },
运行
$warn

并检查
warn.lock
是否使用预期版本:

...
caniuse-lite@1.0.30000957, caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000957:
  version "1.0.30000957"
  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000957.tgz#fb1026bf184d7d62c685205358c3b24b9e29f7b3"
  integrity sha512-8wxNrjAzyiHcLXN/iunskqQnJquQQ6VX8JHfW5kLgAPRSiSuKZiNfmIkP5j7jgyXqAQBSoXyJxfnbCFS0ThSiQ==
...

TL;DR
rm-warn.lock;warn

长篇散文:

browserslist
postsss-preset-env
可能都是二级(深层)依赖项。这在
create-react-app
中很常见。但是,
warn-upgrade
不会升级锁定的子依赖项,并且这样做的命令违背了warn的理念

可以说,其中一个库应该限制所需的依赖项版本,并让Thread来解析好的版本。如果是这样,那么
Thread
是正确的

通过使一些
{browserslist、caniuse-lite、postsss-preset-env}
直接依赖于项目的[dev],可以解决这个问题

或者,短一点,
rm warn.lock;warn

参考资料:


对于升级到创建React App 3的用户,此错误是由于与
browserslist@1.0.30000957
一起运行

运行
npm ls browserslist
以查看
browserslist
的较旧版本的安装位置,并升级那些依赖于
browserslist

纱线用户可以通过遵循提供的一些现有答案来解决此问题


我是一名NPM用户,通过将
browserslist@^4.5.5
安装为根依赖项解决了这一问题,因此可传递的
browserslist
依赖项将被重复到根。请发布更多详细信息或示例配置实际上,所选的答案是可以的。只需删除Thread.lock。在我的情况下,我很难解决这个错误,因为我d就在发生此错误的当天安装了
postsss preset env
。我以前从未使用过它。这很好。虽然KaiOS不在印度,但它是印度第二流行的操作系统(根据维基百科:)