CMake berjaya dikonfigurasikan. Binaan bermula kemudian, cuba memuat turun kebergantungan luaran dan gagal pada proksi. Kejayaan terdahulu mungkin tidak pernah menjalankan muat turun itu langsung.

ExternalProject_Add() mencipta langkah yang boleh berjalan semasa binaan. Proses yang melancarkan langkah tersebut mungkin mempunyai persekitaran berbeza daripada terminal atau IDE yang mengkonfigurasi projek utama. Perbezaan ini mudah terlepas dalam CI, di mana konfigurasi dan pengkompilasian mungkin kerja berasingan.

Kenal pasti operasi rangkaian

Jangan anggap tetapan proksi untuk satu program mengkonfigurasi ketiga-tiganya. Baca arahan dan ralat langkah yang gagal sebelum menukar URL kebergantungan.

Jika pemuat turun yang dipilih menyokong pemboleh ubah persekitaran proksi, berikannya kepada proses yang benar-benar menjalankan langkah itu. Untuk muat turun awam yang kliennya menerima proksi HTTP, senarai proksi HTTP menawarkan calon titik akhir apabila laluan itu dibenarkan. Menghantar pemboleh ubah cache CMake biasa dengan nama serupa tidak semestinya sama dengan menetapkan pemboleh ubah persekitaran proses anak.

Kekalkan juga perbezaan daripada FetchContent: pengisian kebergantungan biasanya berlaku semasa konfigurasi, jadi resipi yang berfungsi di sana tidak membuktikan persekitaran langkah binaan ExternalProject.

Jawapan lama yang mengesyorkan pemuat turun tersuai untuk mengelak had pengalihan sejarah bukan bukti bahawa setiap kegagalan moden memerlukan arahan muat turun baharu. Periksa sama ada ralat semasa ialah pengalihan, pengesahan proksi, kepercayaan sijil atau sekadar kebolehcapaian. Kekalkan hash arkib yang dijangka dan pengesahan TLS semasa membaiki laluan berkenaan.

Artikel berkaitan