React Unmet Dependency

时间:2018-03-20 10:45:22

标签: reactjs react-native npm yarnpkg

首先,我将解释我的情况: 我通过运行以下命令将react-native-multiple-select-list包添加到我的react-native项目中:' yarn add react-native-multiple-select-list':

"dependencies": {
        "react-native-multiple-select-list": "^1.0.4"
}

包react-native-multiple-select-list@1.0.4依赖于react-native-vector-icons包:

"dependencies": {
    "react-native-vector-icons": "^3.0.0"
},

问题是react-native-vector-icon@3.0.0与我的反应@16

的依赖程度未得到满足

我在github上发现新版本(1.0.5)上的问题已修复,react-native-vector-icons的版本更改为4.5,这与react @ 16

相符

但是这个版本(1.0.5)尚未发布到npm。

所以我的问题是:

  • 你有没有办法使用最后一个github版本?
  • 我尝试手动更改" react-native-vector-icons"到4.5,然后从包内运行yarn install。它有效,但每次我运行yarn add(无论哪个包)它都会被改变 将版本恢复为3.有没有办法将其保留在4.5?

谢谢

埃拉德

2 个答案:

答案 0 :(得分:0)

将package.json中的依赖项更改为当前版本

"dependencies": {
"react-native-vector-icons": "^4.5.0"}

答案 1 :(得分:0)

嗯,你不能自己为作者发布它,但是你可以针对你公司的npm repo或你的私人发布它(可能使用像sinopia这样的工具)。如果作者没有做出反应(我从1月23日开始看到最后一次提交以及自2月11日以来关于该主题的公开问题),那么如果您绝对需要它尽快工作,那么这可能是最好的选择。如果您发布它,请稍微更改软件包名称,以便明白您与官方版本不同。

对于第二个问题, react-native-multiple-select-list@1.0.4 总是挑选版本范围^3.0.0,这不包括^4.5.0个版本。即使您手动安装版本4,re​​act-native-multiple-select-list@1.0.4也会选择版本3(在其package.json中指定),您最终会在节点模块中找到两个版本的图标(在根级别使用NPM5一个图标包,另一个在react-native-multiple-select-list的node_modules中)。