установка 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
Подавление создания текста использования, напечатанного в конце установки.