conan-center 的代理:远程不是 json,而是 'application/octet-stream'

proxy to conan-center: Remote from remote is not json, but 'application/octet-stream'

我设置了一个带有 conan“远程”存储库的 jfrog artifactory 来代理官方 conan-center 存储库。我看到三个不同的 conan-center URLs,具体取决于我阅读的来源:center.conan.ioconan.io/centerconan.bintray.com。我使用后者 conan.bintray.com,因为它是 artifactory 为柯南类型的远程存储库建议的默认值 URL。我没有更改任何设置。

然后我尝试像我通常在本地构建中那样做 conan install ..,但我删除了默认的官方 conan-center 存储库,并添加了我的代理存储库(远程存储库,正如 jfrog 所说)

$ conan remote list
conan-center-remote: http://conan.foo.com:8081/artifactory/conan-center-remote/ [Verify SSL: True]

然后我得到这个错误:

$ conan install ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++
compiler.version=10
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

libavrocpp/1.10.1: Not found in local cache, looking in remotes...
libavrocpp/1.10.1: Trying with 'conan-center-remote'...
ERROR: {
  "conan_export.tgz" : "https://conan.bintray.com/artifactory/api/conan/conan-center-legacy/v1/files/_/libavrocpp/1.10.1/_/5413c1d93780b9806d4ffcf0e9436409/export/conan_export.tgz",
  "conan_sources.tgz" : "https://conan.bintray.com/artifactory/api/conan/conan-center-legacy/v1/files/_/libavrocpp/1.10.1/_/5413c1d93780b9806d4ffcf0e9436409/export/conan_sources.tgz",
  "conanmanifest.txt" : "https://conan.bintray.com/artifactory/api/conan/conan-center-legacy/v1/files/_/libavrocpp/1.10.1/_/5413c1d93780b9806d4ffcf0e9436409/export/conanmanifest.txt",
  "conanfile.py" : "https://conan.bintray.com/artifactory/api/conan/conan-center-legacy/v1/files/_/libavrocpp/1.10.1/_/5413c1d93780b9806d4ffcf0e9436409/export/conanfile.py"
}

Response from remote is not json, but 'application/octet-stream'. [Remote: conan-center-remote]

为什么会出现此错误?

我也遇到过这个问题

我的解决方案是将遥控器 URL 从 https://your.jfrog.url/artifactory/your-conan-proxy-name/ 更改为 https://your.jfrog.url/artifactory/api/conan/your-conan-proxy-name/

然后更改柯南本地配置:conan config set general.revisions_enabled=1