Поделиться через


установка vcpkg

Краткие сведения

  • Классический режим
vcpkg install [options] <package>...
  • Режим манифеста
vcpkg install [options]

Description

Сборка и установка пакетов портов.

Классический режим

В классическом режиме эта команда добавляет пакеты портов в существующий набор в установленном каталоге (по умолчанию используется installed/ в корневом каталоге vcpkg). Для этого может потребоваться удаление и перестроение существующих пакетов, которые могут завершиться ошибкой.

Синтаксис пакета

portname[feature1,feature2]:triplet

Ссылки на пакеты без триплета автоматически определяются целевым триплетом по умолчанию. Ссылки на пакеты, не имеющие явного списка core , считаются подразумевающими все функции по умолчанию.

Режим манифеста

В режиме манифеста эта команда устанавливает установленный каталог в состояние, указанное в файле манифеста vcpkg.json , добавлении, удалении или перестроении пакетов по мере необходимости.

Параметры

Все команды vcpkg поддерживают набор общих параметров.

--allow-unsupported

Вместо остановки на неподдерживаемом порту продолжайте предупреждать.

По умолчанию vcpkg отказывается выполнять план установки, содержащий установку порта для триплета вне его "supports" предложения. Предложение "supports" пакета описывает полный набор платформ, на которые должен быть создан пакет. Этот флаг указывает vcpkg предупреждать, что сборка, как ожидается, завершится ошибкой, а не остановлена.

--clean-after-build

Очистка сборок, пакетов и скачивание после сборки каждого пакета.

Этот параметр имеет тот же эффект, что и передача --clean-buildtrees-after-build, --clean-downloads-after-buildи --clean-packages-after-build.

--clean-buildtrees-after-build

Очистка всех подкаталогов из временной вложенной папки buildtrees после создания каждого пакета.

Все файлы верхнего уровня в подпапке buildtrees (например buildtrees/zlib/config-x64-windows-out.log, будут храниться). Все вложенные каталоги будут удалены.

--clean-downloads-after-build

Очистите все нерасчитаемые ресурсы из downloads/ папки после создания каждого пакета.

Все файлы верхнего уровня в папке downloads/ будут удалены. Извлеченные инструменты будут храниться.

--clean-packages-after-build

Очистите временные вложенные папки пакетов после сборки каждого пакета.

Вложенные папки пакетов для встроенного пакета (например, packages/zlib_x64-windows) будут удалены после установки.

--dry-run

Распечатайте план установки, но не удаляйте или не устанавливайте пакеты.

План установки перечисляет все пакеты и компоненты, которые будут установлены, а также любые другие пакеты, которые необходимо удалить и перестроить.

--editable

  • Только классический режим

Выполняйте редактируемые сборки для всех напрямую на которые ссылаются пакеты в командной строке.

Когда vcpkg создает порты, он очищает и повторно извлекает исходный код каждый раз, чтобы убедиться, что входные данные точно. Это необходимо для точного обновления установленного режима манифеста и для кэширования двоичных файлов, чтобы убедиться, что кэшированное содержимое правильно.

Передача флага --editable отключает это поведение, сохраняя изменения в извлеченных источниках в папке buildtrees/ . Это помогает быстро разрабатывать исправления, избегая необходимости записи файла при каждом изменении.

Источники, извлеченные во время редактируемой сборки, не имеют .clean/ суффикса в имени каталога и не будут очищаться последующими нередактируемыми сборками.

--enforce-port-checks

Сбой установки, если порт обнаружил проблемы или пытается использовать нерекомендуемую функцию.

По умолчанию vcpkg запускает несколько проверка на встроенных пакетах и выдает предупреждения при обнаружении каких-либо проблем. Этот флаг обновляет эти предупреждения до ошибки.

--x-feature=<feature>

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

  • Только режим манифеста

Укажите дополнительную функцию из vcpkg.json зависимостей для установки.

По умолчанию будут установлены только "dependencies" зависимости "default-features" .

--head

  • Только классический режим

Запросите все пакеты, на которые явно ссылается командная строка, чтобы получить последние источники, доступные при сборке.

Этот флаг предназначен только для временного тестирования и не предназначен для производственного или долгосрочного использования. Это отключает двоичное кэширование для всех явно указанных пакетов и зависимых от нее пакетов, так как vcpkg не может точно отслеживать все входные данные.

--keep-going

Продолжайте план установки после первого сбоя.

По умолчанию vcpkg останавливается при первом сбое сборки пакета. Этот флаг указывает vcpkg продолжить сборку и установку других частей плана установки, которые не зависят от неудачного пакета.

--x-no-default-features

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

  • Только режим манифеста

Не устанавливайте компоненты по умолчанию из манифеста верхнего уровня.

При использовании install в режиме манифеста все зависимости компонентов, перечисленных в "default-features" списке, по умолчанию будут установлены. Этот флаг отключает это поведение, поэтому будут установлены только функции, явно включенные --x-feature .

--no-downloads

При создании пакета порты не загружают новые ресурсы во время сборки.

По умолчанию порты получат исходный код и инструменты по запросу из Интернета (при условии кэширования активов). Этот параметр блокирует скачивание и ограничивает порты только ресурсами, которые ранее были загружены и кэшированы на компьютере.

--only-downloads

Попытайтесь скачать все ресурсы, необходимые для плана установки, без выполнения каких-либо сборок.

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

--only-binarycaching

Отказаться от выполнения любых сборок. Восстановление пакетов из двоичных кэшей.

Этот флаг блокирует выполнение сборок по запросу и завершится ошибкой, если пакет не найден в двоичных кэшах.

--recurse

  • Только классический режим

Утверждение плана установки, требующего перестроения пакетов.

Чтобы изменить набор компонентов установленного пакета, vcpkg должен удалить и перестроить этот пакет. Так как это может привести к сбою и выходу из дерева установки с меньшим количеством пакетов, чем пользователь начал, пользователь должен утвердить планы, которые перестроят пакеты, передав этот флаг.

--x-use-aria2

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

Используйте aria2 для выполнения задач загрузки.

--x-write-nuget-packages-config

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

Записывает файл в формате NuGet packages.configдля использования с двоичным кэшированием.

Этот параметр можно использовать вместе с --dry-run тем, чтобы получить список пакетов NuGet, необходимых для двоичного кэширования без создания или установки пакетов. Это позволяет вызывать командную строку NuGet отдельно для расширенных сценариев, таких как использование альтернативных протоколов для получения .nupkg файлов.

--no-print-usage

Подавление создания текста использования, напечатанного в конце установки.