установка vcpkg
Синопсис
- классический режим
vcpkg install [options] <package>...
- режим манифеста
vcpkg install [options]
Описание
Сборка и установка пакетов портов.
Классический режим
В классическом режимеэта команда добавляет пакеты портов к существующему набору в установленного каталога (по умолчанию 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-write-nuget-packages-config
Заметка
В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.
Записывает файл NuGet packages.config
-formatted для использования с двоичным кэшированием.
Этот параметр можно использовать в сочетании с --dry-run
для получения списка пакетов NuGet, необходимых для двоичного кэширования без создания или установки пакетов. Это позволяет вызывать командную строку NuGet отдельно для расширенных сценариев, таких как использование альтернативных протоколов для получения файлов .nupkg
.
--no-print-usage
Подавление создания текста использования, напечатанного в конце установки.