react native启动时报错Could not resolve com.facebook.react:react-native:+
启动项目是报错大致如下:
解决
这个issue已经给出了解决方法
https://github.com/facebook/react-native/issues/35210
rn >= 0.63
rn 官方为大于 0.63 的所有主要版本都准备了一个热更新补丁,所以如果你的 react-native 版本大于 0.63,就直接根据上面这个 issue 里找到对应的补丁版本,更新 package.json 内容,重新 yarn install,然后 cd android && ./gradlew clean 清理缓存,之后应该就恢复正常了。
rn < 0.63
如果你的版本低于 0.63,方法更简单,在 android\build.gradle 添加如下内容:
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())
allprojects {
configurations.all {
resolutionStrategy {
// Remove this override in 0.65+, as a proper fix is included in react-native itself.
force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
}
}
}
大致意思就是获取到当前使用的 react-native 版本,然后把所有依赖项目的 rn 都覆盖成这个版本。