#javascript #json
#javascript #json
Вопрос:
Моему приложению create-react-app не удается выполнить сборку, выдавая эту ошибку:
./src/index.css
Module build failed: BrowserslistError: Unknown browser query `dead`
at Array.forEach (<anonymous>)
Я просмотрел свой package-lock.json и обновил все пакеты, которые зависят от browserslist, но некоторые из них не обновляются до версии выше версии v3, в чем, я думаю, и кроются проблемы, они:
-autoprefixer -babel-preset-env -babel-preset-react-app -postcss-merge-правила
Могу ли я просто удалить эти пакеты — хотя другие пакеты зависят от них, я как бы застрял в том, что делать, приложение работает нормально, но не собирается, поэтому наверняка оно не будет работать на сервере разработки?
мой package.json является:
{
"name": "dashboard",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "latest",
"@shopify/polaris": "latest",
"autoprefixer": "^9.5.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react-app": "^7.0.2",
"browserslist": "^4.5.2",
"caniuse-api": "^3.0.0",
"chalk": "^2.0.1",
"css-loader": "^2.1.1",
"cssnano": "^4.1.10",
"dns": "^0.2.2",
"module": "^1.2.5",
"mongodb": "^3.1.10",
"mongoose": "^5.4.3",
"postcss-merge-rules": "^4.0.3",
"react": "^16.4.2",
"react-dom": "^16.4.2",
"react-router": "latest",
"react-router-dom": "^4.3.1",
"react-scripts": "^1.1.4",
"serve": "^10.1.2",
"start": "^5.1.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"devDependencies": {
"babel-jest": "^23.6.0",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
"enzyme-to-json": "^3.3.4",
"jest": "^23.6.0"
},
"jest": {
"snapshotSerializers": [
"enzyme-to-json/serializer"
]
}
}
Ответ №1:
Когда вы говорите, что проверили блокировку пакета и обновили версии, были ли вы уверены, что после этого снова запустили npm install
?
Вы могли бы попробовать запустить npm update
, чтобы посмотреть, решит ли это вашу проблему.
Если это все еще не решает проблему, вы можете запустить npm ls
, чтобы перечислить все пакеты и их зависимости, чтобы попытаться найти пакет, который зависит от предыдущей версии BrowserList, проверьте версию этого пакета, чтобы проверить, можете ли вы его обновить, и если вы не можете, то вам, возможно, потребуется связаться с владельцем пакета
Комментарии:
1. У меня действительно нет времени связаться с владельцем пакета, есть ли обходной путь? могу ли я просто удалить пакет?
2. Я использую create-react-app
3. Это будет зависеть от того, какой это пакет и насколько он важен для вас, первым шагом будет идентификация пакета-нарушителя, а затем вы сможете выяснить, требуется ли это
4. в ошибке он не сообщает мне, какой пакет является оскорбительным, к сожалению, ха-ха!
5. Подобные проблемы с людьми заставляют меня хотеть взять ручку на бумагу, нажать пальцем на кнопку и придумать НОВОЕ решение, что-то лучшее, более простое в управлении, с помощью которого легче диагностировать проблемы … новое node.js