NPM不识别以'* -rc'结尾的semvers(即释放候选); 导致依赖关系无法解决。 通常的解决方法是什么?
这是一个非常简单的例子来说明这个问题。
我正在尝试使用react-native@0.8-rc
和react-native-linear-gradient
。
react-native-linear-gradient
将react-native@>=0.4.4
定义为对等关系。 很公平。
我运行npm install
。
我得到一个错误说
react-native@0.8-rc
不满足react-native@>=0.4.4
。
这个问题使得npm
无用,因为它妨碍了开发人员和软件包维护者。 看这里的例子 。
任何使用节点的人如何对候选版本做有用的工作?!? 什么是解决方法?
作为参考,来自NPM 3.1.2(编写本文时的最新版本)的错误如下所示:
MyProject@0.0.1 /path/to/MyProject ├─┬ react-native@0.8.0-rc │ └── stacktrace-parser@0.1.1 (git://github.com/frantic/stacktrace-parser.git#493c5e5638a79b4d5886171867a06275cc703b00) └─┬ react-native-linear-gradient@0.3.2 └── UNMET PEER DEPENDENCY react-native@>= 0.4.4 npm WARN EPEERINVALID react-native-linear-gradient@0.3.2 requires a peer of react-native@>= 0.4.4 but none was installed.
好的,所以我看了这个,据我所知这是一个与semver
版本的semver
。
短期:我会build议分叉semver
库,修复你的fork中的bug,然后在package.json
为你的项目引用你的semver
分支。
长期:提交一个包含您的特定问题的错误报告,或者自己提交一个代码修复,并请求成为贡献者。
在github发布的NPM点:
npm install --save https://github.com/facebook/react-native/archive/v0.8.0-rc.tar.gz
编辑:对不起,没关系,我误解,并认为你有安装问题。 除了修改peerDependency之外,我没有看到任何解决方法