Αν το bundle install κατεβάζει gems και μετά σταματά σε μια εξάρτηση Git, ερευνήστε την πηγή αυτής της εξάρτησης. Οι επιτυχείς λήψεις αποδεικνύουν μόνο τη διαδρομή που χρησιμοποιήθηκε για αυτές τις λήψεις.

  1. Διαβάστε το πραγματικό URL Git στο Gemfile ή στο lockfile. HTTPS, SSH και git:// απαιτούν διαφορετικές συνδέσεις. Παλιές συντομεύσεις του Bundler μπορούν να κρύψουν ένα URL git:// σε μια σύντομη δήλωση.
  2. Εξετάστε την κλήση Git που χρησιμοποιεί το build. Συγκρίνετε την πραγματική διαμόρφωση, το περιβάλλον και τον λογαριασμό της με μια κλήση τερματικού που λειτουργεί. Ένας agent build ή μια προνομιούχος εντολή μπορεί να βλέπει διαφορετικές εισόδους.
  3. Ακολουθήστε τη μεταφορά που επιλέχθηκε. Για μια εξουσιοδοτημένη πηγή HTTPS, μπορεί να ισχύει η υποστηριζόμενη διαμόρφωση διαμεσολαβητή HTTP του εγγενούς Git. Για SSH, χρησιμοποιήστε τη διαδρομή SSH που υποστηρίζει ο οργανισμός. Μια ρύθμιση διαμεσολαβητή HTTP δεν διαμορφώνει κάθε μεταφορά που μπορεί να ξεκινήσει το Bundler.

Για μια δημόσια πηγή Git μέσω HTTPS που επιτρέπει δημόσιους μεσάζοντες, η λίστα διαμεσολαβητών HTTP προσφέρει υποψήφια τελικά σημεία για αυτή τη διαμόρφωση Git.

Τώρα ταξινομήστε το σφάλμα. Ένα 407 αφορά την πρόσβαση στον μεσάζοντα. Το σφάλμα άδειας ενός ιδιωτικού αποθετηρίου μετά την επιτυχία μιας σήραγγας αφορά τον ξεχωριστό λογαριασμό ή κλειδί του. Κρατήστε τα διαπιστευτήρια του διαμεσολαβητή έξω από το Gemfile και τα committed URL πηγών· αυτές οι δηλώσεις κοινοποιούνται σε χρήστες του έργου των οποίων οι ρυθμίσεις δικτύου μπορεί να διαφέρουν.

Μην αντικαθιστάτε έναν λειτουργικό διαμεσολαβητή και μην επεξεργάζεστε έναν λογαριασμό με προσόντα τομέα μόνο επειδή το προτείνει μια άσχετη εναλλακτική λύση. Η ολοκλήρωση σημαίνει ανάκτηση της συγκεκριμένης πηγής Git μέσω της προβλεπόμενης διαδρομής. Η επανάληψη των ήδη επιτυχών λήψεων gem αφήνει αυτή την αποτυχία αδοκίμαστη.

Σχετικά άρθρα