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 都覆盖成这个版本。

posted @ 2023-01-31 14:25  ZerlinM  阅读(1186)  评论(0编辑  收藏  举报