首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jCenter返回502坏网关

jCenter返回502坏网关
EN

Stack Overflow用户
提问于 2022-01-16 12:51:39
回答 3查看 462关注 0票数 0

我正试图建立我的项目,但似乎jcenter已经失败了。

$ cd android $ sudo ./gradlew assembleRelease

代码语言:javascript
复制
> Task :app:lintVitalRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Could not resolve all artifacts for configuration ':react-native-community_masked-view:releaseRuntimeClasspath'.
   > Could not resolve com.facebook.react:react-native:+.
     Required by:
         project :react-native-community_masked-view
      > Failed to list versions for com.facebook.react:react-native.
         > Unable to load Maven meta-data from https://jcenter.bintray.com/com/facebook/react/react-native/maven-metadata.xml.
            > Could not HEAD 'https://jcenter.bintray.com/com/facebook/react/react-native/maven-metadata.xml'. Received status code 502 from server: Bad Gateway
EN

回答 3

Stack Overflow用户

发布于 2022-01-17 20:23:56

JCenter会关机现在是只读的.而且它正在离线,经常导致构建和管道的问题。

总而言之

您将需要更新您的android/build.gradle文件以使用mavenCentral()而不是Jcenter()

根据Gradle文档,JCenter是Maven Central的镜像,因此您的所有依赖项都应该存在。

JCenter是一个中心工件存储库,类似于Maven Central。软件项目使用JCenter将他们的软件分发给其他人。JCenter也是Maven Central的镜像,因此在Maven Central上可用的任何依赖项也可以在JCenter上使用(反之亦然)。

有几件事要考虑:

  • 如果是(例如node_/react本机-appsflyer),指向Jcenter,这会给您一个错误.我建议您检查这个库,给您一个错误,用一个补丁更新一个新版本。如果是这样的话,更新到新版本以获得更改。
  • 如果库没有带有修复的版本,如果您正在使用npm包构建In本机程序包,则可能会利用patch-package 图书馆。因为有可能库还没有发布从JCenter中删除build.gradle的更新。

应用补丁

您可以使用修补程序包库自己应用这些更改。最后添加的文档以供参考。

  1. 转到node_modules/library-with-error/android/build.gradle
  2. jcenter()更改为mavenCentral()
  3. 运行:npx patch-package library-with-error
  4. Git添加、提交和推送

个人笔记:

  • 我建议完全删除JCenter,而不是将MavenCentral()添加到顶部,因为关机,并且JCenter经常会离线并导致超时错误。

根据当前的时间线,使用JCenter的构建将能够在2022年2月1日之前不进行任何更改地解决依赖关系。在此之后,如果您继续使用JCenter,就无法保证您能够构建您的软件。“

  • 而且,Gradle正在阻止JCenter的使用。

“为了阻止新项目使用JCenter,我们将从示例和init模板中删除JCenter。新的默认设置是Maven Central。Gradle本身与JCenter或Maven Central没有内在的联系,因此您可以随时切换您选择的任何其他存储库。这种更改将在下一个Gradle版本-- Gradle 7.0中生效。”

  • 依赖项(pom、jar)的情况下,不会添加到Maven中,这里是是关于如何添加。把它添加到公关中,并与之进行合作讨论。

有用的链接

  • --use-yarn添加到patch-package命令中,以防项目使用纱线
  • 使用贴片包装的文档。
票数 1
EN

Stack Overflow用户

发布于 2022-01-24 08:06:05

JFrog将无限期地将JCenter保留为只读存储库。JCenter用户和社区可以继续依赖JCenter作为Java包的可靠镜像。您可以访问https://www.jfrog.com/confluence/display/JFROG/JFrog+Bintray+Migration+Guide获得更多详细信息。

票数 0
EN

Stack Overflow用户

发布于 2022-10-31 08:53:05

android -> build.gradle

代码语言:javascript
复制
allprojects {
    repositories {
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    remove repo
                }
            }
        }
        mavenCentral()
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70730201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档