Ошибка обозревателя: неизвестный браузер kaios - PullRequest
21 голосов
/ 15 апреля 2019

Я обновил свой проект, чтобы использовать последние версии узла и пряжи, после этого обновления теперь мой реактивный проект не хочет работать с "списком браузеров".

Я запускаю «запуск пряжи» и получаю эту ошибку:

./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>)

У меня есть следующие версии:

  • узел v10.15.3
  • нпм 6,9,0
  • пряжа v1.15.2

И мой 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"
  ]
}

Для меня проблема связана с css-загрузчиком, я пытаюсь решить проблему и добавить css-loader@2.1.1 в package.json. Я пытаюсь с другим решением, но никто не работает.

Ответы [ 5 ]

32 голосов
/ 24 апреля 2019

TL; DR rm yarn.lock; yarn

Длинная проза:

Обе browserslist и postcss-preset-env могут быть зависимостями 2-го уровня (глубокие). Это довольно часто встречается у create-react-app. Однако yarn upgrade не обновляет заблокированные подчиненные зависимости, и команда для этого противоречит философии пряжи.

Возможно, одна из этих библиотек должна ограничивать требуемую версию зависимости и оставить ее на усмотрение, чтобы найти хорошую версию. Если это так, то yarn является правильным.

Возможно, решить эту проблему можно, установив некоторые из {browserslist, caniuse-lite, postcss-preset-env} прямых [dev] зависимостей вашего проекта.

или, короче, rm yarn.lock; yarn

Ссылки:

5 голосов
/ 16 апреля 2019

Я столкнулся с той же проблемой, и, исправив версию caniuse-lite в package.json с предыдущей до последней версии, я смог обойти эту проблему.

Добавить к package.json

  "resolutions": {
    "caniuse-lite": "1.0.30000957"
  },

Выполнить $ yarn

и убедиться, что yarn.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==
...
4 голосов
/ 15 апреля 2019

Я посмотрел на код, и это потому, что обновление caniuse, которое поддерживает запрос для Kai OS (я полагаю, какая-то мобильная ОС в Индии?) Так что если вы добавите postcss-preset-env сегодня и получите caniuse-lite в качестве зависимости некоторых пакетов, установленных ранее, вы можете столкнуться с ошибкой

ТЛ; др удалите node_modules и заблокируйте, затем снова установите все зависимости

1 голос
/ 26 апреля 2019

Для тех из вас, кто обновляет приложение React до 3, эта ошибка вызвана несовместимостью с browserslist@<4.5.5 и caniuselite@>1.0.30000957, работающими вместе.

Запустите npm ls browserslist, чтобы увидеть, где установлены более старые версии browserslist, и обновите те пакеты, которые зависят от browserslist

Пользователи пряжи могут решить эту проблему, следуя некоторым из имеющихся ответов.

Я - пользователь NPM и решил эту проблему, установив browserslist@^4.5.5 в качестве корневой зависимости, и, таким образом, транзитивные browserslist зависимости выводятся в корень.

1 голос
/ 15 апреля 2019

Я тоже сегодня получил эту ошибку.Похоже, проблема связана с postcss-preset-env.Удаление из списка плагинов postcss решило мою проблему.

Я решил остаться с autoprofixer и postcss-custom-properties вместо postcss-preset-env.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...