首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NPM未满足的对等依赖问题标记

NPM未满足的对等依赖问题标记
EN

Stack Overflow用户
提问于 2021-11-12 08:57:20
回答 2查看 448关注 0票数 1

我正在使用npm版本6.17.1

我已经安装了Response15.4.0

我试着安装npm安装漂亮复选框,这给了我

代码语言:javascript
复制
+-- UNMET PEER DEPENDENCY popper.js@^1.16.0  
+-- pretty-checkbox@3.0.3  
`-- UNMET PEER DEPENDENCY react@15.4.0

然后我尝试安装popper.js并获得

代码语言:javascript
复制
+-- popper.js@1.16.0
`-- UNMET PEER DEPENDENCY react@15.4.0

所以我试着重新安装。然后会遇到npm i react@15.4.0

代码语言:javascript
复制
`-- UNMET PEER DEPENDENCY react@15.4.0

所以我不知道为什么,怎么会这样

Package.js

代码语言:javascript
复制
{
  "private": true,
  "scripts": {
    "transport": "watchify js/app.js -v -t babelify -p livereactload -o public/js/bundle.js",
    "ES6-to-ES5": "npx babel es6 --watch --presets babel-preset-env --out-dir js",
    "watch": "gulp medicus-watch"
  },
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-plugin-react-transform": "^2.0.2",
    "babel-plugin-transform-object-rest-spread": "^6.23.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "bootstrap-sass": "^3.3.7",
    "browserify": "^14.3.0",
    "cross-env": "^3.2.3",
    "del": "^2.2.2",
    "fakerator": "^0.3.0",
    "gulp": "^3.9.1",
    "gulp-concat": "^2.6.1",
    "gulp-less": "^3.3.0",
    "gulp-livereload": "^3.8.1",
    "gulp-uglify": "^3.0.0",
    "gulp-zip": "^4.0.0",
    "laravel-elixir": "^5.0.0",
    "laravel-mix": "0.*",
    "livereactload": "^3.3.0",
    "lodash": "^4.17.4",
    "react-proxy": "^1.1.8",
    "vinyl-buffer": "^1.0.0",
    "vinyl-source-stream": "^1.1.0",
    "vue": "^2.1.10",
    "watchify": "^3.9.0"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babelify": "^7.3.0",
    "create-react-class": "^15.6.0",
    "draft-js": "^0.11.4",
    "draftjs-to-html": "0.9.1",
    "fixed-data-table-2": "^0.7.17",
    "jquery": "^3.2.1",
    "moment": "^2.18.1",
    "node-sass": "^4.5.3",
    "pretty-checkbox": "^3.0.3",
    "prop-types": "^15.5.10",
    "ramda": "^0.23.0",
    "react": "^15.4.0",
    "react-bootstrap": "^0.31.0",
    "react-bootstrap-datetimepicker": "0.0.22",
    "react-dom": "^15.4.0",
    "react-draft-wysiwyg": "^1.14.4",
    "react-google-charts": "^1.5.5",
    "react-native-html-to-pdf": "^0.8.0",
    "react-radio-buttons": "^1.2.2",
    "react-redux": "^4.3.0",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.2.2",
    "react-sortable-hoc": "^0.6.8",
    "react-widgets": "^3.4.8",
    "redux": "^3.7.2",
    "redux-form": "^6.8.0",
    "redux-promise": "^0.5.3",
    "redux-thunk": "^2.2.0"
  },
  "browserify": {
    "transform": [
      [
        "babelify"
      ]
    ]
  }
}

Package-lock.json

代码语言:javascript
复制
.
.
.
"react": {
  "version": "15.4.0",
  "resolved": "https://registry.npmjs.org/react/-/react-15.4.0.tgz",
  "integrity": "sha1-c2wcfFQugIgScQbh9FCwEPhtFys=",
  "requires": {
    "fbjs": "^0.8.4",
    "loose-envify": "^1.1.0",
    "object-assign": "^4.1.0"
  }
},
   .
   . 
   .
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-15 08:09:31

我可以看到,pretty-checkbox的开发者上一次出版是在4年前。

假设新模块使用了popper-js@2.0,并且在他们的项目中已经将popper-js@4.0作为直接或子依赖的人更有可能在使用新模块时面临未满足的对等依赖。

由于可能与其他模块发生冲突,因此不建议降级该版本。解决办法是添加分辨率

在做任何事情之前,确保没有其他版本的react安装了全局,删除node-modules文件夹和package-lock.json文件。确保您的package.json依赖项具有react@15.4.0,并且只在您确信项目中的其他模块不依赖于后期版本的popperjs时才添加popperjs@^1.16.0

看看这篇文章,了解关于对等依赖的一个很好的解释

如果有其他模块需要其他版本的popperjs,那么您可以在package.json中添加一个附加属性,如下所示,

代码语言:javascript
复制
{
.....,
"browserify": {
    "transform": [
      [
        "babelify"
      ]
    ]
  },
 "resolutions": {
   popperjs: "^1.16.0" 
 }
}

备注:-您不是要删除以前的版本,解决方案只会将您的子依赖绑定到指定的版本。

读得好:- https://medium.com/learnwithrahul/understanding-npm-dependency-resolution-84a24180901b

票数 2
EN

Stack Overflow用户

发布于 2021-11-15 08:24:29

当没有任何意义时,我经常尝试这样做:删除节点模块、文件夹和Packe-lock.json文件。使用git将package.json文件重置为最后一次稳定提交。然后清除npm缓存并运行npm安装。最后,试着安装软件包漂亮复选框。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69940241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档