Как установить пакет в местном магазине?

Я работаю с conan 0.16.0 и не могу понять, как установить пакет в локальном магазине.
Моя идея состоит в том, чтобы создать рецепт, создать каждый пакет, который я хочу из рецепта, установить их в локальном хранилище и затем загрузить их на сервер conan, чтобы сделать их доступными для другого разработчика, без необходимости перекомпилировать пакет, поскольку они уже доступны. ,

Что я на самом деле делаю:

  • Создать рецепт (conanfile.py с моим методом сборки и экспорта)
  • Я устанавливаю его в местном магазине, используя conan export user/channel
  • Я проверяю, что я могу построить, делая conan build
  • Я создаю пакет с mkdir mypackage, cd mypackage а также conan package ..
  • И потом, я не знаю, как установить этот пакет в местном магазине (после, я хотел бы загрузить рецепт & пакеты из локального магазина на сервер)

Единственный способ найти мою посылку в местном магазине — это получить еще один рецепт, который требует предыдущего рецепта, а затем сделать conan install --build, Пакет моего первого рецепта будет собран и будет присутствовать в моем местном магазине, но таким образом я вынуждаю создавать «поддельные» требования для достижения моей цели.

Можно ли как-нибудь собрать свои пакеты для нужных мне настроек, а затем напрямую установить их в локальном магазине?

1

Решение

От Conan Docs ты должен conan install создать пакет. conan build Команда используется только для сборки вашего локального проекта, а не для сборки пакета, который вы экспортировали.

На самом деле, предпочтительным способом создания и тестирования пакетов является использование test_package функциональность, пожалуйста, следуйте учебник. Вообще говоря, документы написаны очень по образцу, я рекомендую им следовать.

Если вы проверите документы или справку командной строки conan package это покажет вам, что это команда только для отладки, и которая будет использоваться в редких случаях. Вы можете отлично работать без него.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]