Я бегу: conan install Boost/1.64.0@conan/stable, и он терпит неудачу.
Вывод:

C:\temp>conan install Boost/1.64.0@conan/stable
Boost/1.64.0@conan/stable: Not found in local cache, looking in remotes...
Boost/1.64.0@conan/stable: Trying with 'bintray'...
Boost/1.64.0@conan/stable: Trying with 'conan.io'...
ERROR: Unable to find 'Boost/1.64.0@conan/stable' in remotes

Пробуя другой пакет, работает:

C:\temp>conan install fmt/4.0.0@bincrafters/stable
fmt/4.0.0@bincrafters/stable: Not found in local cache, looking in remotes...
fmt/4.0.0@bincrafters/stable: Trying with 'bintray'...
fmt/4.0.0@bincrafters/stable: Trying with 'conan.io'...
Downloading conanmanifest.txt
[==================================================] 121B/121B
Downloading conanfile.py
[==================================================] 1.8KB/1.8KB
fmt/4.0.0@bincrafters/stable: Installing package
Requirements
    fmt/4.0.0@bincrafters/stable from conan.io
Packages
    fmt/4.0.0@bincrafters/stable:63da998e3642b50bee33f4449826b2d623661505

fmt/4.0.0@bincrafters/stable: Retrieving package 63da998e3642b50bee33f4449826b2d623661505
fmt/4.0.0@bincrafters/stable: Looking for package 63da998e3642b50bee33f4449826b2d623661505 in remote 'conan.io'
Downloading conanmanifest.txt
[==================================================] 938B/938B
Downloading conaninfo.txt
[==================================================] 491B/491B
Downloading conan_package.tgz
[==================================================] 159.8KB/159.8KB
fmt/4.0.0@bincrafters/stable: Package installed 63da998e3642b50bee33f4449826b2d623661505

Есть идеи, почему пакет не найден? Как это отладить?

3
ShaulF 28 Ноя 2017 в 02:15

1 ответ

Лучший ответ

Conan - это децентрализованный менеджер пакетов (в стиле git), поэтому у него может быть много пультов. По умолчанию он поставляется с двумя пультами дистанционного управления:

  • conan-transit: это доступная только для чтения копия старого репозитория conan.io, который содержит множество различных пакетов Boost от разных авторов. Качество варьируется, поэтому некоторые пакеты могут работать только для определенной ОС или могут не работать для некоторых конфигураций.

  • conan-center: это модерируемый / проверяемый репозиторий, создатели пакетов могут отправлять запросы на включение, чтобы поделиться своими пакетами с сообществом.

Пока что conan-transit содержит несколько пакетов Boost / 1.64, так что можете проверить это с помощью:

$ conan search Boost* -r=conan-transit
$ conan search Boost* -r=conan-center

Как видите, пакет, который вы пытаетесь установить, не существует в этих репозиториях.

Как я уже сказал выше, conan децентрализован, поэтому вы можете использовать разные пульты. Например, у сообщества "bincrafters" есть репозиторий bintray, который можно добавить с помощью:

$ conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
$ conan search Boost* -r=bincrafters

Вы увидите, что у них есть большое количество пакетов Boost / 1.64, потому что они создали модульную версию boost, в которой каждая библиотека живет в другом пакете, поэтому вы устанавливаете только то, что вам нужно.

ОБНОВЛЕНИЕ: пакеты в центральном репозитории переименовываются сообществом в нижний регистр. При необходимости попробуйте использовать строчные буквы boost в приведенном выше примере.

6
drodri 15 Ноя 2019 в 16:33