קראו את כתובת המקור שנכשלה לפני שינוי ה‑proxy של Cargo. מטא‑נתונים של הרישום, ארכיון crate ותלות Git עשויים להשתמש בנתיבי משיכה ואימות שונים. כתובת SSH של Git זקוקה גם לסידור תעבורה שונה מ‑HTTPS.

עבור בקשות ה‑HTTP הרלוונטיות של Cargo, אפשר להגדיר את הנתיב כך:

[http]
proxy = "http://203.0.113.10:8080"

החליפו את נקודת הקצה של התיעוד ב‑HTTP proxy שלכם. עבור נתיב רישום ציבורי שמותר לו להשתמש בפרוקסי ציבוריים, מועמדים נמצאים ב‑רשימת פרוקסי HTTP. הדבר אינו מוכיח שקובץ Git חיצוני קיבל את אותה תצורה.

אם המקור שנכשל הוא Git, Cargo יכול לבחור ב‑Git CLI במקום במימוש המובנה שלו:

[net]
git-fetch-with-cli = true

CARGO_NET_GIT_FETCH_WITH_CLI=true בוחר בו עבור פקודה אחת. Git החיצוני זקוק כעת ל‑תצורת proxy משלו ולפרטי האימות שלו. השוו את אותה כתובת Git באותה סביבת הפעלה; מאגר לא קשור שעובד במסוף אחר אינו הבדיקה.

גרסה חסרה, דחיית הרשאה למאגר או שגיאת מפתח מארח של SSH נשארות אותה בעיה גם אחרי החלפת המימוש. האפשרות בוחרת לקוח נתמך; היא אינה תיקון כללי לתלויות.

השאירו את האבחון ברמת הפרויקט או הפקודה: הגדרות Git גלובליות והגדרות Cargo של המשתמש יכולות להשפיע על סביבות עבודה אחרות. כתובת רישום בוחרת נתוני חבילה, לא מתווך. לאחר שנתיב Git עובד, הריצו שוב את פעולת Cargo המלאה שהתכוונתם אליה, כי ארכיונים, הפניות וטעינות בזמן בנייה עלולים להוסיף נתיבים אחרים.

מאמרים קשורים