Lỗi Git / Bower: Mã thoát # 128 & Kết nối không thành công


86

Tôi đang sử dụng Bower để cài đặt một số thư viện. Với mục đích trình diễn ở đây, tôi đang cài đặt bootstrap. Bất kể gói nào, tôi đều nhận được các lỗi sau:

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    

Tôi đã thử sử dụng giải pháp sau để xóa lỗi đầu tiên - lỗi mà tôi tìm thấy từ tìm kiếm này :

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

Tuy nhiên, điều này không hoạt động cũng như không có bất kỳ giải pháp nào khác được tìm thấy trên trang đó. Đang tìm kiếm giải pháp cho lỗi thứ 2, có vẻ như việc đặt tên người dùng / pwd cho máy chủ proxy sẽ giải quyết được sự cố nếu bạn đang sử dụng mạng công ty / sau tường lửa. Tuy nhiên, tôi không sử dụng máy chủ proxy vì tôi đang sử dụng máy tính / mạng tại nhà của mình (windows 7 x64).

Cảm ơn!

CHỈNH SỬA: Cửa sổ lệnh có lỗi:

nhập mô tả hình ảnh ở đây



đã có một vấn đề tương tự với npmvà https, giải quyết vớigit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot

Câu trả lời:


123

Tôi biết đây không phải là "khắc phục" sự cố, nhưng bạn có thể sử dụng

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

để yêu cầu git sử dụng HTTPS thay vì GIT đã giúp tôi cài đặt các phần phụ thuộc npm.


9
Là chỉ tôi, hay điều này thực sự không hiệu quả với bất kỳ ai khác? Đây là kết quả cao nhất trên google cho thực tế tất cả các tìm kiếm liên quan đến lỗi bower 128 và sau khi thay đổi cài đặt này, bower vẫn sử dụng giao thức git.
Bloodyaugust

1
@Bloodyaugust, nó cũng không hiệu quả với tôi. Vẫn sử dụnggit://
Logan

1
Điều này đã làm việc cho tôi, mặc dù tôi không rõ vấn đề là gì.
Mendhak

Cũng có tác dụng với tôi, và tôi cũng không biết tại sao. @Bloodyaugust, @Logan, bạn đã kiểm tra tệp .gitconfig toàn cầu ( git config --global --edit) của mình chưa? Chỉ cần, bạn biết, để đảm bảo. Và một số .gitconfig cụ thể hơn (cho mỗi người dùng hoặc mỗi dự án git) có thể ghi đè nó.
Rafael Eyng

2
Làm việc cho tôi - tôi đoán cổng 22 bị đóng trên máy làm việc nơi tôi đang thử điều này. Vì vậy, không SSH để github :( Tôi có thể nói rằng tôi đã chạy lệnh từ (git) thư mục dự án ... nếu mà làm cho bất kỳ diff.
demaniak

34

Thay vào đó để chạy lệnh này:

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

bạn nên chạy lệnh này:

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

hoặc là

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

hoặc bạn có thể chạy git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitnhưng bạn cần đặt git luôn sử dụng https theo cách này:

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

Tham khảo: https://github.com/bower/bower/issues/50


Cảm ơn. Tôi đã cố gắng buộc git luôn sử dụng https nhưng không chắc nó hoạt động - hãy xem hình ảnh tôi đính kèm trong bài đăng gốc. Lỗi vẫn xảy ra bất kể tôi thử gói cài đặt bower nào.
azsl1326

20

Tôi đã tìm thấy điều này với mạng công ty của tôi.

Nó có vẻ lạ vì tôi luôn sử dụng ssh để kết nối với git và chưa bao giờ gặp sự cố.

Tôi đã thử https và không hoạt động vì vậy tôi đã thêm cài đặt proxy vào cấu hình của git và tất cả đều tốt

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

Và đảm bảo rằng nó hoạt động

git config --list

Cảm ơn ... Đây cũng là trường hợp của tôi. Tôi đã phải cấu hình git để sử dụng co. proxy ..
Paul T.

Nếu đây làm việc cho bạn và bạn đang sử dụng NPM cũng có, có thể bạn sẽ cần phải thiết lập tương đương với: npm config set proxy http://<your-corporate-proxy>npm config set https-proxy http://<your-corporate-proxy>
aponzani

1
git config http.sslVerify "false"cũng có thể cần thiết cho một số proxy của công ty.
John Fouhy

8

Cổng 22 đã bị chặn trên máy tính của tôi. Khi tôi tìm thấy thứ đang chặn nó và mở cổng, tôi có thể chạy cmd cài đặt bower mà không gặp bất kỳ sự cố nào.


Cổng 22 hoặc 9418 không được mở vào / ra cho tcp / udp đã bỏ chặn tôi.
kayleeFrye_onDeck

6

Có vẻ như azsl1326 không sử dụng được bower (git) qua cổng 9418 (git: //), sau đó yêu cầu git sử dụng cổng 22 (https: //) để thay thế. Điều này vẫn không thành công, nhưng sau đó mở cổng 22 đã có kết quả mong muốn.

Giải pháp trực tiếp nhất là mở cổng 9418. Đây là cổng mà giao thức git: // sử dụng.


1
Tôi nghĩ rằng đây phải là câu trả lời được chấp nhận, bởi vì đây rõ ràng là cổng git 9418 đang bị chặn bởi tường lửa. Ít nhất đây là trường hợp trên máy chủ CentOS của tôi với tường lửa CSF.
Christos Lytras

Cổng 22 hoặc 9418 không được mở vào / ra cho tcp / udp đã bỏ chặn tôi.
kayleeFrye_onDeck

Repo từ xa của bạn ở đâu? Máy chủ đó có các cổng đó đang mở không?
Henry

4

Điều hướng đến Thư mục ứng dụng của bạn và chạy lệnh này

git config - url toàn bộ. "https: //" .insteadOf "git: //

"

Điều này sẽ khắc phục sự cố của bạn



3

Bạn có đang đứng sau một bức tường lửa?

Git không chọn cấu hình proxy khi nó được gọi, vì vậy hãy đặt các biến môi trường một cách rõ ràng, ví dụ:

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

Nếu proxy công ty của bạn không cần xác thực, chỉ cần bỏ qua username:password@bit trong URL.

Nó đã làm việc cho tôi!


3

Nếu quốc gia của bạn chặn github, ví dụ như Trung Quốc đại lục, thì bạn có thể tạo proxy, ví dụ: sử dụng goagent & gae, sau đó đặt địa chỉ proxy cho git, ví dụ:

git config --global http.proxy 127.0.0.1:8087

2

Lỗi này liên quan đến cấu hình tường lửa của bạn kém. Bạn sẽ nhận thấy rằng bower đang cố gắng liên hệ với git thông qua git://giao thức nhưng không http://. Bạn phải mở cổng 9418. Thêm hai dòng này vào cấu hình iptables của bạn:

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

Cái này cần phải dùng mẹo.


1

Trước tiên, bạn nên kiểm tra xem dấu nhắc Lệnh của Visual Studio có nhận ra lệnh git hay không: Công cụ> Dòng lệnh

C: \ .... \> git

nếu lệnh này không được nhận dạng, bạn nên thêm thư mục git vào Biến môi trường

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

Đây là những gì tôi đã thiếu và đã thực hiện thủ thuật cho tôi.

Hy vọng nó giúp.


0

Tôi đang thêm câu trả lời của tôi ở đây vì đây là một trong những câu hỏi gần nhất phù hợp với tình huống của tôi. Đã cố gắng cài đặt select2 chứ không phải bootstrap, nhưng kết quả là như nhau.

bower install select2báo cáo rằng git không thể định vị thư mục. Đã sử dụng

git config - url toàn bộ. "https: //" .insteadOf git: //

sửa cấu hình, nhưng điều đó dẫn đến lỗi (diễn giải)

Tôi không thể sử dụng https

Vấn đề của tôi đã được giải quyết không ổn thỏa, vì nó liên quan đến ma thuật.

Tôi đã cố gắng chạy điều này trong một trình bao lệnh (cmd.exe, windows). Tôi đã chạy lệnh tương tự và chạy nó trong powershell và nó hoạt động. ಠ_ಠ

tl; dr: sự kết hợp của https: // và powershell phù hợp với tôi


0

Tôi gặp lỗi này sau khi trình kiểm tra vi-rút của tôi đã cách ly tải xuống từ github.com. Vì một số lý do không rõ.

Sau khi tôi xóa các tệp đó (tệp exe) mọi thứ đều hoạt động.


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

không làm việc cho tôi. Vì vậy, tôi đã tìm thấy giải pháp thay thế này:

Chuyển đến thư mục tạm thời của bạn. (tức là nếu bạn đang sử dụng windows thì C:\Users\{username}\AppData\Roaming\bower\cache\packages). Ở đó bạn có thể thấy một số tệp. Mở từng cái và bạn có thể thấy URL. Thay đổi nó từ git://...thành https://...và lưu tất cả các tệp.

Bây giờ chạy bower install.


hoặc, chỉ cần chạy bower cache cleanthay thế.
nightire

0

Kiểm tra cài đặt cấu hình git của bạn ( git config --global --edit). Trong trường hợp của tôi, có một số mục nhập không còn hợp lệ như:

[core]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

Sửa đổi chúng và xóa nếu bạn không cần chúng nữa.


0

Chìa khóa của bạn bị sai. Chỉ cần thêm chúng vào GitHub / Bitbucket / bất cứ thứ gì bạn đang sử dụng. Đó không gì khác hơn là một vấn đề về quyền với các khóa của bạn.


0

Tuy nhiên, tôi không sử dụng máy chủ proxy vì tôi đang sử dụng máy tính / mạng tại nhà của mình

Gặp sự cố tương tự (nhận mã thoát 128) trên mạng gia đình của tôi và khá chắc chắn rằng tôi không sử dụng proxy. Hóa ra, Git đã lưu một proxy mà tôi đã nhập một thời gian trước đây - sau khi xem xét các cấu hình, tôi tìm thấy nó dưới thẻ [http].

Tôi mới sử dụng Git và tôi không chắc chắn lắm, nếu những cấu hình đó thường có thể truy cập dễ dàng - tôi đang sử dụng Tortoise Git, vì tôi thực sự không làm bất cứ điều gì lạ mắt và có GUI cho mọi thứ.

Hy vọng câu trả lời dù sao cũng giúp được.


0

Trong trường hợp của tôi là quyền truy cập thư mục mà tôi đã ở trong quá trình thực thi lệnh! Trên windows, tôi đã tạo thư mục đầu tiên bằng dòng lệnh: mkdir "MyFolder" và tôi đã gặp lỗi. nhưng nếu tôi tạo thư mục bằng chuột, nhấp chuột phải, tạo thư mục, v.v. Hoạt động tốt!


0

Nếu bạn đang xác thực bằng bitbucket, tôi gặp lỗi 128 & Kết nối không thành công. nhưng khi sử dụng trung tâm git xác thực, nó hoạt động tốt.


0

Tôi biết đây là một câu hỏi cũ, dù sao hãy để tôi thêm một điều nữa.

Đôi khi (Nếu bạn đang ở trong văn phòng hoặc mạng riêng) tường lửa máy chủ cổng của bạn chặn các yêu cầu https (cổng 443) từ đầu cuối lệnh

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

Sử dụng điều này để định cấu hình git để sử dụng http qua https cho các trang web đó


0

Điều này đã làm việc cho tôi,

Sao chép tệp "libcurl.dll" trong thư mục cài đặt Git (C: \ Program Files \ Git \ bin \ libcurl.dll). Dán nó vào vị trí có git.exe (C: \ Program Files \ Git \ libexec \ git-core).


0

Chạy 2 lệnh này để cấp quyền truy cập git qua hệ thống của bạn

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

Các lệnh này giả định rằng bạn có khóa ssh trên máy chủ git từ xa (bitbucket / github / other)


0

Tôi cũng gặp phải lỗi này và giải quyết bằng cách cập nhật git. Khi tôi chạy lệnh git ls-remote không thành công, lỗi cơ bản là phiên bản tls cũ đang được sử dụng. Vì vậy, phiên bản cập nhật của git sử dụng phiên bản mới hơn của tls.

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


0

tôi tìm thấy lỗi này trên hệ điều hành linux của tôi. và tôi giải quyết vấn đề này 1. mở curl log export GIT_CURL_VERBOSE = 1 2.clone git repo 3. tìm nhật ký 4. tôi khắc phục sự cố bằng cách cập nhật nss và curl (yum update nss nss-use nspr curl)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.