ข้อผิดพลาด Git / Bower: รหัสออก # 128 และการเชื่อมต่อล้มเหลว


86

ฉันใช้ Bower เพื่อติดตั้งห้องสมุดต่างๆ เพื่อจุดประสงค์ในการสาธิตที่นี่ฉันกำลังติดตั้ง bootstrap ไม่ว่าจะเป็นแพ็คเกจใดก็ตามฉันได้รับข้อผิดพลาดต่อไปนี้:

C:\Scott>bower install bootstrap
bower not-cached    git://github.com/twbs/bootstrap.git#*
bower resolve       git://github.com/twbs/bootstrap.git#*
bower ECMDERR       Failed to execute "git ls-remote --tags --heads git://github
.com/twbs/bootstrap.git", exit code of #128

Additional error details:
fatal: unable to access 'https://github.com/twbs/bootstrap.git/': Failed connect
to github.com:443; No error    

ฉันได้ลองใช้วิธีแก้ไขปัญหาต่อไปนี้เพื่อลบข้อผิดพลาดแรก - ซึ่งฉันพบจากการค้นหานี้:

git config --global url."https://".insteadOf git://

อย่างไรก็ตามวิธีนี้ใช้ไม่ได้ผลหรือไม่ทำวิธีแก้ไขปัญหาอื่น ๆ ที่พบในหน้านั้น การค้นหาวิธีแก้ไขข้อผิดพลาดที่ 2 ดูเหมือนว่าการตั้งชื่อผู้ใช้ / pwd สำหรับพร็อกซีเซิร์ฟเวอร์จะช่วยแก้ปัญหาได้หากคุณอยู่ในเครือข่ายขององค์กร / หลังไฟร์วอลล์ อย่างไรก็ตามฉันไม่ได้ใช้พร็อกซีเซิร์ฟเวอร์เนื่องจากฉันอยู่บนพีซี / เครือข่ายที่บ้าน (windows 7 x64)

ขอบคุณ!

แก้ไข: หน้าต่างคำสั่งที่มีข้อผิดพลาด:

ป้อนคำอธิบายภาพที่นี่



มีปัญหาที่คล้ายกันnpmและ https แก้ไขได้ด้วยgit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot

คำตอบ:


123

ฉันรู้ว่านี่ไม่ใช่การ "แก้ไข" ปัญหา แต่คุณสามารถใช้ได้

git config --global url."https://".insteadOf git://

เพื่อบอกให้คอมไพล์ใช้ HTTPS แทน GIT ซึ่งได้ผลสำหรับฉันในการติดตั้งการอ้างอิง npm


9
มันเป็นแค่ฉันหรือว่านี่ใช้ไม่ได้กับคนอื่น? นี่เป็นผลลัพธ์สูงสุดใน Google สำหรับการค้นหาทั้งหมดที่เกี่ยวข้องกับข้อผิดพลาด 128 ข้อผิดพลาดและหลังจากเปลี่ยนการตั้งค่านี้ bower ยังคงใช้โปรโตคอล git
Bloodyaugust

1
@Bloodyaugust มันไม่ได้ผลสำหรับฉันเช่นกัน ยังคงใช้อยู่git://
Logan

1
สิ่งนี้ได้ผลสำหรับฉันแม้ว่าฉันจะไม่ชัดเจนว่าปัญหาคืออะไร
Mendhak

ทำงานให้ฉันด้วยและฉันก็ไม่รู้ว่าทำไม @Bloodyaugust @Logan คุณได้ตรวจสอบไฟล์ global .gitconfig ( git config --global --edit) แล้วหรือยัง เพียงแค่คุณรู้เพื่อให้แน่ใจ และ. gitconfig ที่เฉพาะเจาะจงมากขึ้น (ต่อผู้ใช้หรือต่อโครงการ git) อาจลบล้างได้
Rafael Eyng

2
ทำงานให้ฉัน - ฉันเดาว่าพอร์ต 22 ปิดบนเครื่องทำงานที่ฉันกำลังลองทำอยู่ ดังนั้นจึงไม่มี SSH ไปที่ github :( ฉันสามารถพูดได้ว่าฉันรันคำสั่งจากโฟลเดอร์โปรเจ็กต์ (git) ... ถ้ามันทำให้แตกต่าง
demaniak

34

แทนที่จะเรียกใช้คำสั่งนี้:

 git ls-remote --tags --heads git://github.com/twbs/bootstrap.git

คุณควรเรียกใช้คำสั่งนี้:

 git ls-remote --tags --heads git@github.com:twbs/bootstrap.git

หรือ

 git ls-remote --tags --heads https://github.com/twbs/bootstrap.git

หรือคุณสามารถรันได้git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitแต่คุณต้องทำให้ git ใช้ https ด้วยวิธีนี้เสมอ:

 git config --global url."https://".insteadOf git://

อ้างอิง: https://github.com/bower/bower/issues/50


ขอบคุณ. ฉันพยายามบังคับให้คอมไพล์ใช้ https เสมอ แต่ไม่แน่ใจว่ามันใช้งานได้ - ดูรูปภาพที่ฉันแนบมาในโพสต์ต้นฉบับ ข้อผิดพลาดยังคงเกิดขึ้นไม่ว่าฉันจะลองติดตั้งแพ็คเกจใดก็ตาม
azsl1326

20

ฉันเจอสิ่งนี้กับเครือข่ายองค์กรของฉัน

มันดูแปลก ๆ เพราะฉันใช้ ssh เพื่อเชื่อมต่อกับ git มาโดยตลอดและไม่เคยมีปัญหา

ฉันลอง https แล้วไม่ได้ผลดังนั้นฉันจึงเพิ่มการตั้งค่าพร็อกซีในการกำหนดค่าของ git และทุกอย่างก็เรียบร้อยดี

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080

และตรวจสอบให้แน่ใจว่าได้ผล

git config --list

ขอบคุณ ... นี่ก็เป็นกรณีของฉันเช่นกัน ฉันต้องกำหนดค่าคอมไพล์เพื่อใช้ co. พร็อกซี ..
ปอ.

หากวิธีนี้ใช้ได้ผลสำหรับคุณและคุณใช้ npm ด้วยคุณอาจต้องตั้งค่าเทียบเท่า: npm config set proxy http://<your-corporate-proxy>และnpm config set https-proxy http://<your-corporate-proxy>
aponzani

1
git config http.sslVerify "false"อาจจำเป็นสำหรับผู้รับมอบฉันทะขององค์กรบางรายด้วย
John Fouhy

8

พอร์ต 22 ถูกบล็อกบนคอมพิวเตอร์ของฉัน เมื่อฉันพบสิ่งที่ปิดกั้นและเปิดพอร์ตฉันสามารถเรียกใช้ bower install cmd ได้โดยไม่มีปัญหาใด ๆ


ไม่มีการเปิดพอร์ต 22 หรือ 9418 เข้า / ออกสำหรับ tcp / udp ปลดบล็อกฉัน
kayleeFrye_onDeck

6

ดูเหมือนว่า azsl1326 ล้มเหลวในการใช้ bower (git) บนพอร์ต 9418 (git: //) จากนั้นบอกให้ git ใช้พอร์ต 22 (https: //) แทน สิ่งนี้ยังคงล้มเหลว แต่แล้วการเปิดพอร์ต 22 ก็ได้ผลลัพธ์ที่ต้องการ

วิธีแก้ปัญหาที่ตรงที่สุดคือเปิดพอร์ต 9418 นี่คือพอร์ตที่โปรโตคอล git: // ใช้


1
ฉันคิดว่านี่ควรเป็น answear ที่ได้รับการยอมรับเพราะเห็นได้ชัดว่า git port 9418 ถูกบล็อกโดยไฟร์วอลล์ อย่างน้อยก็เป็นกรณีนี้บนเซิร์ฟเวอร์ CentOS ของฉันที่มีไฟร์วอลล์ CSF
Christos Lytras

ไม่มีการเปิดพอร์ต 22 หรือ 9418 เข้า / ออกสำหรับ tcp / udp ปลดบล็อกฉัน
kayleeFrye_onDeck

repo ระยะไกลของคุณอยู่ที่ไหน เซิร์ฟเวอร์นั้นเปิดพอร์ตเหล่านั้นหรือไม่
Henry

4

ไปที่โฟลเดอร์แอปพลิเคชันของคุณและเรียกใช้คำสั่งนี้

git config --global url "https: //" .insteadOf "git: //

"

วิธีนี้ควรแก้ไขปัญหาของคุณ



3

คุณอยู่เบื้องหลังไฟร์วอลล์หรือไม่?

Git ไม่รับการกำหนดค่าพร็อกซีเมื่อถูกเรียกดังนั้นตั้งค่าตัวแปรสภาพแวดล้อมอย่างชัดเจนเช่น:

export HTTP_PROXY=http://username:password@proxyserver:port/
export HTTPS_PROXY=http://username:password@proxyserver:port/

หากพร็อกซี บริษัท ของคุณไม่ต้องการการตรวจสอบความถูกต้องเพียงแค่เว้นusername:password@บิตใน URL

มันได้ผลสำหรับฉัน!


3

หากประเทศของคุณบล็อก github เช่นจีนแผ่นดินใหญ่คุณสามารถสร้างพร็อกซีได้เช่นใช้ goagent & gae จากนั้นตั้งค่าพร็อกซีแอดเดรสสำหรับ git เช่น

git config --global http.proxy 127.0.0.1:8087

2

ข้อผิดพลาดนี้เกี่ยวข้องกับการกำหนดค่าไฟร์วอลล์ของคุณที่ไม่ถูกต้อง คุณจะสังเกตเห็นซุ้มที่พยายามที่จะติดต่อคอมไพล์ผ่านทางโปรโตคอลและการไม่ได้git:// คุณต้องเปิดพอร์ตhttp:// 9418เพิ่มสองบรรทัดนี้ในการกำหนดค่า iptables ของคุณ:

iptables -t filter -A INPUT -p tcp --dport 9418 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 9418 -j ACCEPT

นี้ควรทำเคล็ดลับ


1

ประการแรกคุณควรตรวจสอบว่าพรอมต์คำสั่ง Visual Studio รู้จักคำสั่ง git หรือไม่: Tools> Command Line

C: \ .... \> คอมไพล์

หากไม่รู้จักคำสั่งนี้คุณควรเพิ่มโฟลเดอร์ git ใน Environment Variables

https://stackoverflow.com/a/26620861/3449657

นี่คือสิ่งที่ฉันขาดหายไปและเป็นเคล็ดลับสำหรับฉัน

หวังว่าจะช่วยได้


0

ฉันกำลังเพิ่มคำตอบที่นี่เนื่องจากนี่เป็นคำถามที่ใกล้เคียงที่สุดที่ตรงกับสถานการณ์ของฉัน กำลังพยายามติดตั้ง select2 แทน bootstrap แต่ผลลัพธ์ก็เหมือนเดิม

bower install select2รายงานว่าคอมไพล์ไม่พบไดเร็กทอรี ใช้ไฟล์

git config --global url "https: //" .insteadOf git: //

config fix แต่ส่งผลให้เกิดข้อผิดพลาด (ถอดความ)

ฉันไม่สามารถใช้ https

ปัญหาของฉันได้รับการแก้ไขอย่างไม่น่าพอใจเนื่องจากเกี่ยวข้องกับเวทมนตร์

ฉันพยายามเรียกใช้สิ่งนี้ในเชลล์คำสั่ง (cmd.exe, windows) ฉันรันคำสั่งเดียวกันและเรียกใช้ใน powershell และใช้งานได้ ಠ_ಠ

tl; dr: การรวมกันของ https: // และ powershell ทำงานให้ฉัน


0

ฉันได้รับข้อผิดพลาดนี้หลังจากที่โปรแกรมตรวจสอบไวรัสของฉันกักกันการดาวน์โหลดจาก github.com ด้วยเหตุผลที่ไม่ทราบสาเหตุ

หลังจากที่ฉันล้างไฟล์เหล่านั้น (ไฟล์ exe) ทุกอย่างทำงานได้


0
git config --global url. "https://".insteadOf "git://"  

ไม่ได้ผลสำหรับฉัน ดังนั้นฉันจึงพบทางเลือกนี้:

ไปที่โฟลเดอร์ชั่วคราวของคุณ (เช่นถ้าคุณใช้ windows แล้วC:\Users\{username}\AppData\Roaming\bower\cache\packages) คุณสามารถดูไฟล์ต่างๆได้ เปิดแต่ละรายการและคุณจะเห็น URL เปลี่ยนจากgit://...เป็นhttps://...และบันทึกไฟล์ทั้งหมด

ตอนนี้เรียกใช้bower install.


หรือเพียงแค่เรียกใช้bower cache cleanแทน
nightire

0

ตรวจสอบการตั้งค่า git config ของคุณ ( git config --global --edit) ในกรณีของฉันมีสองรายการที่ไม่ถูกต้องเช่น:

[หลัก]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

แก้ไขและลบออกหากคุณไม่ต้องการอีกต่อไป


0

คีย์ของคุณผิด เพียงเพิ่มลงใน GitHub / Bitbucket / สิ่งที่คุณใช้ ไม่มีอะไรมากไปกว่าปัญหาการอนุญาตกับคีย์ของคุณ


0

อย่างไรก็ตามฉันไม่ได้ใช้พร็อกซีเซิร์ฟเวอร์เนื่องจากฉันอยู่บนพีซี / เครือข่ายที่บ้าน

มีปัญหาเดียวกัน (รับรหัสทางออก 128) บนเครือข่ายในบ้านของฉันและค่อนข้างแน่ใจว่าฉันไม่ได้ใช้พร็อกซี ปรากฎว่า Git ได้บันทึกพร็อกซีที่ฉันเคยป้อนในอดีตหลังจากดูรอบ ๆ ในการกำหนดค่าฉันพบว่ามันอยู่ภายใต้แท็ก [http]

ฉันยังใหม่กับ Git และฉันไม่แน่ใจเลยว่าถ้า Config เหล่านั้นมักจะเข้าถึงได้ง่าย - ฉันใช้ Tortoise Git เนื่องจากฉันไม่ได้ทำอะไรที่น่าสนใจจริงๆและนั่นก็มี GUI สำหรับสิ่งต่างๆ

หวังว่า "คำตอบ" จะช่วยได้


0

ในกรณีของฉันคือการเข้าถึงโฟลเดอร์ที่ฉันอยู่ระหว่างการดำเนินการคำสั่ง! บน windows ฉันสร้างโฟลเดอร์ก่อนโดยบรรทัดคำสั่ง: mkdir "MyFolder" และฉันพบข้อผิดพลาด แต่ถ้าฉันสร้างโฟลเดอร์ด้วยเมาส์คลิกขวาสร้างโฟลเดอร์ ฯลฯ ใช้งานได้ดี!


0

หากคุณกำลังตรวจสอบสิทธิ์ด้วย bitbucket ซึ่งฉันได้รับข้อผิดพลาด 128 และการเชื่อมต่อล้มเหลว แต่เมื่อใช้การรับรองความถูกต้อง git hub มันทำงานได้ดี


0

ฉันรู้ว่านี่เป็นคำถามเก่า แต่ให้ฉันเพิ่มอีกอย่าง

บางครั้ง (หากคุณอยู่ในสำนักงานหรือเครือข่ายส่วนตัว) ไฟร์วอลล์เซิร์ฟเวอร์เกตเวย์ของคุณบล็อกคำขอ https (พอร์ต 443) จากเทอร์มินัลคำสั่ง

git config --global url."http://".insteadOf "https://"

ใช้สิ่งนี้เพื่อกำหนดค่า git เพื่อใช้ http ผ่าน https สำหรับสถานการณ์เหล่านั้น


0

สิ่งนี้ได้ผลสำหรับฉัน

คัดลอกไฟล์ "libcurl.dll" ในโฟลเดอร์การติดตั้ง Git (C: \ Program Files \ Git \ bin \ libcurl.dll) วางในตำแหน่งที่มี git.exe อยู่ (C: \ Program Files \ Git \ libexec \ git-core)


0

เรียกใช้ 2 คำสั่งนี้เพื่อให้สิทธิ์การเข้าถึงคอมไพล์ผ่านระบบของคุณ

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

คำสั่งเหล่านี้สมมติว่าคุณมีคีย์ ssh บนเซิร์ฟเวอร์ git ระยะไกล (bitbucket / github / other)


0

ฉันพบข้อผิดพลาดนี้เช่นกันและแก้ไขได้โดยการอัปเดตคอมไพล์ เมื่อฉันรันคำสั่ง git ls-remote ที่ล้มเหลวข้อผิดพลาดพื้นฐานคือมีการใช้ tls เวอร์ชันเก่า git เวอร์ชันที่อัปเดตจึงใช้ tls เวอร์ชันที่ใหม่กว่า

https://git-scm.com/download/win


0

ฉันพบข้อผิดพลาดนี้ในระบบปฏิบัติการ linux ของฉัน และฉันแก้ปัญหานี้ 1. open curl log export GIT_CURL_VERBOSE = 1 2.clone git repo 3. ค้นหาบันทึก 4. ฉันแก้ไขปัญหาโดยการอัพเดต nss และ curl (yum update nss nss-util nspr curl)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.