Udostępnij za pośrednictwem


Instalacja narzędzia vcpkg

Streszczenie

  • Tryb klasyczny
vcpkg install [options] <package>...
  • Tryb manifestu
vcpkg install [options]

opis

Kompilowanie i instalowanie pakietów portów.

Tryb klasyczny

W trybie klasycznym ten czasownik dodaje pakiety portów do istniejącego zestawu w zainstalowanym katalogu (wartość domyślna to installed/ w katalogu głównym vcpkg). Może to wymagać usunięcia i ponownego skompilowania istniejących pakietów, co może zakończyć się niepowodzeniem.

Składnia pakietu

portname[feature1,feature2]:triplet

Odwołania do pakietów bez trojaków są automatycznie kwalifikowane do domyślnej trójki docelowej. Odwołania do pakietów, które nie zawierają jawnej listy core , są uznawane za oznaczające wszystkie funkcje domyślne.

Tryb manifestu

W trybie manifestu to polecenie ustawia zainstalowany katalog na stan określony przez plik manifestu vcpkg.json , dodając, usuwając lub ponownie kompilując pakiety zgodnie z potrzebami.

Opcje

Wszystkie polecenia vcpkg obsługują zestaw typowych opcji.

--allow-unsupported

Zamiast zatrzymywać się na nieobsługiwanym porcie, kontynuuj z ostrzeżeniem.

Domyślnie program vcpkg odmawia wykonania planu instalacji zawierającego instalację portu dla potrójnej poza klauzulą "supports" . Klauzula "supports" pakietu opisuje pełny zestaw platform, na których powinien być kompilowalny pakiet. Ta flaga nakazuje programowi vcpkg ostrzeżenie, że kompilacja ma zakończyć się niepowodzeniem zamiast zatrzymywania.

--clean-after-build

Wyczyść drzewa kompilacji, pakiety i pliki do pobrania po utworzeniu każdego pakietu.

Ta opcja ma taki sam efekt jak przekazywanie --clean-buildtrees-after-build, --clean-downloads-after-buildi --clean-packages-after-build.

--clean-buildtrees-after-build

Wyczyść wszystkie podkatalogi z tymczasowego podfolderu buildtrees po utworzeniu każdego pakietu.

Wszystkie pliki najwyższego poziomu w podfolderze buildtrees (np. buildtrees/zlib/config-x64-windows-out.log) będą przechowywane. Wszystkie podkatalogi zostaną usunięte.

--clean-downloads-after-build

Wyczyść wszystkie niewyjaśniane zasoby z folderu po utworzeniu downloads/ każdego pakietu.

Wszystkie pliki najwyższego poziomu w folderze downloads/ zostaną usunięte. Wyodrębnione narzędzia będą przechowywane.

--clean-packages-after-build

Wyczyść tymczasowy podfolder pakietów po utworzeniu każdego pakietu.

Podfolder pakietów dla utworzonego pakietu (na przykład packages/zlib_x64-windows) zostanie usunięty po instalacji.

--dry-run

Wydrukuj plan instalacji, ale nie usuwaj ani nie instaluj żadnych pakietów.

Plan instalacji zawiera listę wszystkich pakietów i funkcji, które zostaną zainstalowane, a także wszystkich innych pakietów, które należy usunąć i skompilować.

--editable

  • Tylko tryb klasyczny

Wykonaj kompilacje edytowalne dla wszystkich bezpośrednio przywoływalnych pakietów w wierszu polecenia.

Gdy narzędzie vcpkg kompiluje porty, czyści i ponownie wyodrębnia kod źródłowy za każdym razem, aby upewnić się, że dane wejściowe są dokładne. Jest to konieczne w przypadku trybu manifestu, aby dokładnie zaktualizować zainstalowane oprogramowanie i buforowanie binarne, aby zapewnić poprawność buforowanej zawartości.

Przekazywanie flagi --editable wyłącza to zachowanie, zachowując zmiany w wyodrębnionych źródłach w folderze buildtrees/ . Pomaga to szybko opracowywać poprawki, unikając konieczności zapisania pliku w każdej zmianie.

Źródła wyodrębnione podczas kompilacji edytowalnej nie mają .clean/ sufiksu nazwy katalogu i nie zostaną wyczyszczone przez kolejne kompilacje nieedytowalne.

--enforce-port-checks

Instalacja nie powiodła się, jeśli port wykrył problemy lub próbuje użyć przestarzałej funkcji.

Domyślnie narzędzie vcpkg uruchamia kilka testów na skompilowanych pakietach i emituje ostrzeżenia, jeśli zostaną wykryte jakiekolwiek problemy. Ta flaga uaktualnia te ostrzeżenia do błędu.

--x-feature=<feature>

Uwaga

W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.

  • Tylko tryb manifestu

Określ dodatkową funkcję z elementu vcpkg.json , aby zainstalować zależności.

Domyślnie instalowane są tylko zależności "dependencies" programu i zależności programu "default-features" .

--head

  • Tylko tryb klasyczny

Zażądaj jawnego odwołania do wszystkich pakietów w wierszu polecenia, aby pobrać najnowsze źródła dostępne podczas kompilowania.

Ta flaga jest przeznaczona tylko do testowania tymczasowego i nie jest przeznaczona do użytku produkcyjnego ani długoterminowego. Spowoduje to wyłączenie buforowania binarnego dla wszystkich jawnie przywołynych pakietów i ich zależności, ponieważ program vcpkg nie może dokładnie śledzić wszystkich danych wejściowych.

--keep-going

Kontynuuj plan instalacji po pierwszym niepowodzeniu.

Domyślnie narzędzie vcpkg zostanie zatrzymane podczas pierwszego niepowodzenia kompilacji pakietu. Ta flaga nakazuje programowi vcpkg kontynuowanie kompilowania i instalowania innych części planu instalacji, które nie zależą od pakietu, który zakończył się niepowodzeniem.

--x-no-default-features

Uwaga

W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.

  • Tylko tryb manifestu

Nie instaluj funkcji domyślnych z manifestu najwyższego poziomu.

W przypadku używania install w trybie manifestu domyślnie zostaną zainstalowane wszystkie zależności funkcji wymienionych w programie "default-features" . Ta flaga wyłącza to zachowanie, aby tylko funkcje jawnie włączone przez --x-feature program zostały zainstalowane.

--no-downloads

Podczas kompilowania pakietu uniemożliwiaj portom pobieranie nowych zasobów podczas kompilacji.

Domyślnie porty uzyskują kod źródłowy i narzędzia na żądanie z Internetu (z zastrzeżeniem buforowania zasobów). Ten parametr blokuje pobieranie i ogranicza porty tylko do zasobów, które zostały wcześniej pobrane i buforowane na maszynie.

--only-downloads

Spróbuj pobrać wszystkie zasoby wymagane do planu instalacji bez wykonywania żadnych kompilacji.

Po przekazaniu tej opcji narzędzie vcpkg będzie uruchamiać każdą kompilację w planie, dopóki nie spowoduje to pierwszego wywołania procesu zewnętrznego bez pobierania. Większość portów wykonuje wszystkie operacje pobierania przed pierwszym wywołaniem procesu zewnętrznego (zwykle w systemie kompilacji), więc ta procedura spowoduje pobranie wszystkich wymaganych zasobów. Porty, które nie są zgodne z tą procedurą, nie będą miały wstępnie pobranych zasobów.

--only-binarycaching

Odmawiaj wykonywania jakichkolwiek kompilacji. Przywracaj tylko pakiety z binarnych pamięci podręcznych.

Ta flaga blokuje program vcpkg przed wykonywaniem kompilacji na żądanie i zakończy się niepowodzeniem, jeśli nie można odnaleźć pakietu w żadnych binarnych pamięciach podręcznych.

--recurse

  • Tylko tryb klasyczny

Zatwierdź plan instalacji, który wymaga ponownego kompilowania pakietów.

Aby zmodyfikować zestaw funkcji zainstalowanego pakietu, program vcpkg musi usunąć i ponownie skompilować ten pakiet. Ponieważ może to oznaczać niepowodzenie i pozostawienie drzewa instalacji z mniejszą liczbą pakietów niż rozpoczęty przez użytkownika, użytkownik musi zatwierdzić plany ponownego kompilowania pakietów, przekazując tę flagę.

--x-use-aria2

Uwaga

W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.

Wykonywanie zadań pobierania za pomocą narzędzia aria2.

--x-write-nuget-packages-config

Uwaga

W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.

Zapisuje plik NuGet packages.configsformatowany do użycia z buforowaniem binarnym.

Tej opcji można używać w połączeniu z poleceniem --dry-run w celu uzyskania listy pakietów NuGet wymaganych z buforowania binarnego bez kompilowania ani instalowania pakietów. Dzięki temu wiersz polecenia NuGet może być wywoływany oddzielnie w przypadku zaawansowanych scenariuszy, takich jak używanie alternatywnych protokołów do uzyskiwania .nupkg plików.

--no-print-usage

Pomiń generowanie tekstu użycia wydrukowanego na końcu instalacji.