我有一个重大的问题,我的npm包安装程序。它一直在工作,但我删除了包-lock.json文件,现在根本不工作了。我似乎无法运行它,目前我所能提供的只有如下所示的pakage.json文件和npm日志,这会导致以下错误:
Npm日志

My package.json
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"@babel/preset-react": "^7.12.1",
"axios": "^0.19",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-preset-react": "^6.24.1",
"bootstrap": "^4.0.0",
"browser-sync": "^2.26.13",
"browser-sync-webpack-plugin": "^2.2.2",
"cross-env": "^7.0",
"jquery": "^3.2",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.19",
"popper.js": "^1.12",
"react": "^16.2.0",
"react-dom": "^16.14.0",
"resolve-url-loader": "^3.1.0",
"sass": "^1.15.2",
"sass-loader": "^8.0.0"
},
"dependencies": {
"@crystallize/react-growl": "^3.2.0",
"@material-ui/core": "^4.11.3",
"@material-ui/icons": "^4.11.2",
"final-form": "^4.20.1",
"final-form-arrays": "^3.0.2",
"framer-motion": "^2.9.4",
"google-map-react": "^2.1.8",
"google-maps-react": "^2.0.6",
"google-timezone-api": "^1.0.1",
"i": "^0.3.6",
"leaflet": "^1.7.1",
"moment": "^2.29.1",
"moment-timezone": "^0.5.32",
"npm": "^6.14.8",
"query-string": "^6.14.1",
"react-bootstrap": "^1.5.2",
"react-bootstrap-date-picker": "^5.1.0",
"react-bootstrap-typeahead": "^5.1.4",
"react-content-loader": "^5.1.4",
"react-create-class": "^1.0.0",
"react-data-table": "^0.1.0",
"react-data-table-component": "^6.11.5",
"react-datepicker": "^3.3.0",
"react-dates": "^21.8.0",
"react-device-detect": "^1.14.0",
"react-dropzone": "^11.2.3",
"react-feather": "^2.0.8",
"react-final-form": "^6.5.1",
"react-final-form-file-field": "0.0.6",
"react-google-places-autocomplete": "^3.0.0",
"react-growl": "^0.1.2",
"react-helmet": "^6.1.0",
"react-image-crop": "^8.6.6",
"react-lazyload": "^2.6.5",
"react-leaflet": "^2.7.0",
"react-notifications": "^1.7.2",
"react-parallax": "^3.1.2",
"react-phone-number-input": "^3.1.16",
"react-places-autocomplete": "^7.3.0",
"react-redux": "^7.2.1",
"react-router-dom": "^5.2.0",
"react-router-redux": "^4.0.8",
"react-select": "^3.1.0",
"react-slick": "^0.27.12",
"react-table": "^6.11.5",
"react-table-v6": "^6.8.6",
"react-toast-notifications": "^2.4.0",
"redux": "^4.0.5",
"redux-thunk": "^2.3.0",
"slick-carousel": "^1.8.1",
"styled-components": "^5.2.0"
},
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties"
]
}
}发布于 2021-03-19 21:22:38
the引导日期选择器正在寻找一个比你已经安装的版本更老的版本.插入符号(^)只允许小版本更新。X到1.x是一个主要的版本更新。
https://github.com/pushtell/react-bootstrap-date-picker/blob/master/package.json#L21
除了降级-引导-引导,或者用另一个库替换react引导日期选择器之外,没有什么可以做的。
发布于 2021-03-19 21:37:01
您在react-bootstrap中指定的版本与react-bootstrap-date-picker指定的react-bootstrap版本之间存在版本冲突。
您的package.json列表
"react-bootstrap": "^1.5.2"
在最新的react-bootstrap-date-picker中,它列出了
"react-bootstrap": "^0.31.0"
胡萝卜符号(^)允许npm安装最新的次要版本(三部分版本字符串中的第二个数字),但从不更改主版本号(版本字符串中的第一个数字)。这意味着^0.31.0版本不能自动增加到1.0.0 (下一个主要版本)或任何更大的版本。
我建议将package.json更改为指定:"react-bootstrap": "^0.32.0"。但是,您应该知道,它将安装一个相当旧的react-bootstrap版本。
或者,您也可能希望查找一个更新的日期选择程序包,因为它看起来不像react-bootstrap-date-picker在过去四年中已经更新过。它依赖于较旧版本的react-bootstrap (大约4年前的版本)。与最新版本的Bootstrap 4和5相比,它可能也非常过时。
发布于 2021-03-19 21:18:59
看来我用以下方法回答了我自己的问题:
npm install --legacy-peer-deps
如果有人能说明这一点,如果这是安全的,用于生产,以及在未来。谢谢。
https://stackoverflow.com/questions/66715498
复制相似问题