A CMake sikeresen konfigurál. A build később indul, megpróbál letölteni egy külső függőséget, és a proxynál elbukik. A korábbi siker nem feltétlenül gyakorolta egyáltalán azt a letöltést.

A ExternalProject_Add() olyan lépéseket hoz létre, amelyek a build során futhatnak. Az ezeket indító folyamat környezete eltérhet attól a termináltól vagy IDE-től, amely a fő projektet konfigurálta. Ez a különbség CI-ban könnyen elkerüli a figyelmet, ahol a konfigurálás és a fordítás külön feladat lehet.

Határozza meg a hálózati műveletet

Ne feltételezze, hogy egy program proxybeállítása mindhármat konfigurálja. Olvassa el a sikertelen lépés parancsát és hibáját, mielőtt módosítja a függőség URL-jét.

Ha a választott letöltő támogatja a proxy környezeti változókat, adja át őket annak a folyamatnak, amely ténylegesen futtatja azt a lépést. Azoknál a nyilvános letöltéseknél, amelyek kliense HTTP-proxyt fogad el, a HTTP-proxylista végpontjelölteket kínál, ha az az útvonal engedélyezett. Egy hasonló nevű, közönséges CMake-gyorsítótár-változó átadása nem automatikusan ugyanaz, mint egy gyermekfolyamat környezeti változójának beállítása.

Tartsa meg a FetchContenttől való különbséget is: szokásos függőségfeltöltése a konfigurálás során történik, így az ott működő recept nem bizonyítja egy ExternalProject build-lépés környezetét.

Egy régi válasz, amely egyéni letöltőt ajánl egy történelmi átirányítási korlát megkerülésére, nem bizonyíték arra, hogy minden modern hiba új letöltési parancsot igényel. Ellenőrizze, hogy a jelenlegi hiba átirányítás, proxyhitelesítés, tanúsítvány-megbízhatóság vagy egyszerű elérhetőség-e. Őrizze meg az elvárt archívum-hash-t és a TLS-ellenőrzést, miközben a megfelelő útvonalat javítja.

Kapcsolódó cikkek