Как установить Boost 64bit только из одного пакета Chocolatey?

В настоящее время я устанавливаю Boost с помощью Chocolatey,

choco install -y boost-msvc-14.2 --version 1.74.0

При этом будут установлены как 32-, так и 64-разрядная версия библиотеки. Я считаю, что 32-битная версия мне не нужна и для экономии места и времени (каждая версия весит ~150 МБ, файлы загружаются отдельно); Я хотел бы скачать только одну из двух версий.

$ choco install -y boost-msvc-14.2 --version 1.74.0
Chocolatey v2.3.0
Installing the following packages:
boost-msvc-14.2
By installing, you accept licenses for the packages.
Downloading package from source 'https://community.chocolatey.org/api/v2/'
Progress: Downloading boost-msvc-14.2 1.74.0... 100%
boost-msvc-14.2 v1.74.0 [Approved]
boost-msvc-14.2 package files install completed. Performing other installation steps.
Downloading boost-msvc-14.2 
  from 'https://downloads.sourceforge.net/project/boost/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-32.exe'
Progress: 100% - Completed download of C:\Users\gitlab_runner\AppData\Local\Temp\chocolatey\boost-msvc-14.2\1.74.0\boost_1_74_0-msvc-14.2-32.exe (150.86 MB).
Download of boost_1_74_0-msvc-14.2-32.exe (150.86 MB) completed.
Hashes match.
Installing boost-msvc-14.2...
boost-msvc-14.2 has been installed.
Downloading boost-msvc-14.2 64 bit
  from 'https://downloads.sourceforge.net/project/boost/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-64.exe'
Progress: 100% - Completed download of C:\Users\gitlab_runner\AppData\Local\Temp\chocolatey\boost-msvc-14.2\1.74.0\boost_1_74_0-msvc-14.2-64.exe (162.56 MB).
Download of boost_1_74_0-msvc-14.2-64.exe (162.56 MB) completed.
Hashes match.
Installing boost-msvc-14.2
...

Как мне скачать (или хотя бы установить) только одну из архитектур (64бит)?

Есть ли командная строка для choco для установки только одной из двух версий?

(приветствуются другие сценарии установки Boost в Windows)

Этот список на странице Choco https://community.chocolatey.org/packages/boost-msvc-14.2

🤔 А знаете ли вы, что...
Язык C++ применяется в различных областях, включая разработку игр, системное программирование и встраиваемые системы.


100
3

Ответы:

С Choco всякий раз, когда вы устанавливаете что-то, вы можете, но не обязательно, указывать битовую версию. Люди обычно не говорят об этой функции много, но вы можете сделать это довольно просто в конце установки, например, имя установочного пакета choco --bitversion, и его можно использовать как для установки 38-битной, так и 64-битной версии. версия. В вашем сценарии, чтобы использовать эту команду, вам нужно будет запустить choco install -y boost-msvc-14.2 --version 1.74.0 --x64или, если вы, скажем, хотите установить 38-битную версию, вы запускаете не x38, а вместо этого x86, так и будет choco install -y boost-msvc-14.2 --version 1.74.0 --x86


Решено

Глядя на указанный вами пакет (boost-msvc-14.2), он намеренно устанавливает версии библиотек как x86, так и x64:

Этот пакет включает заголовки Boost и библиотеки, скомпилированные с помощью Visual Studio 2019 для 32- и 64-битной Windows.

Нет никакого способа контролировать это, кроме как изменить пакет или поговорить с специалистом по сопровождению пакета, чтобы добавить параметры пакета (или обработку аргументов x86/x64), чтобы повлиять на него.


Спасибо за другие ответы.

Chocolatey — это здорово, но для установки Boost это излишество. В итоге я сделал это:

$ Invoke-WebRequest -UserAgent curl https://downloads.sourceforge.net/project/boost/boost-binaries/1.74.0/boost_1_74_0-msvc-14.2-64.exe -OutFile boost_1_74_0-msvc-14.2-64.exe
$ .\boost_1_74_0-msvc-14.2-64.exe /sp- /verysilent /suppressmsgboxes /norestart | more

который занимает вдвое меньше времени, чем шоколад, и тоже работает. Процесс выполняется за 20 минут вместо 40 минут на машине CI.