NPM 不识别以“*-rc”结尾的 semvers(即发布候选者);导致依赖关系无法解析。通常的解决方法是什么?
NPM doesn't recognize semvers that end with '*-rc' (i.e. release candidates); causes dependencies to fail to resolve. What's the usual workaround?
这里有一个非常简单的例子来说明这个问题。
我正在尝试将 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
变得毫无用处,因为它妨碍了开发人员和包维护人员。参见 here for an example。
任何使用 node 的人如何对候选版本做任何有用的工作?!?!解决方法是什么?
供您参考,来自 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.
将 NPM 指向 github 版本:
npm install --save https://github.com/facebook/react-native/archive/v0.8.0-rc.tar.gz
编辑:抱歉,没关系,我看错了,以为你在安装它时遇到了问题。除了修改 peerDependency
之外,我看不到解决它的方法
好的,所以我查看了这个,据我所知这是 semver
.
版本的错误
短期:我建议分叉 semver
存储库,修复你的分叉中的错误,然后只在 package.json
中为你的项目引用你的 semver
分叉。
长期:针对您的具体问题提交错误报告,或自己提交代码修复并请求成为贡献者。
这里有一个非常简单的例子来说明这个问题。
我正在尝试将 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
变得毫无用处,因为它妨碍了开发人员和包维护人员。参见 here for an example。
任何使用 node 的人如何对候选版本做任何有用的工作?!?!解决方法是什么?
供您参考,来自 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.
将 NPM 指向 github 版本:
npm install --save https://github.com/facebook/react-native/archive/v0.8.0-rc.tar.gz
编辑:抱歉,没关系,我看错了,以为你在安装它时遇到了问题。除了修改 peerDependency
之外,我看不到解决它的方法好的,所以我查看了这个,据我所知这是 semver
.
短期:我建议分叉 semver
存储库,修复你的分叉中的错误,然后只在 package.json
中为你的项目引用你的 semver
分叉。
长期:针对您的具体问题提交错误报告,或自己提交代码修复并请求成为贡献者。