2013-04-09 12 views
26

Chúng tôi được kết nối qua proxy và tại đây, git bị chặn (không phải trang web nhưng trên git //:) chúng tôi đã thử với egit, "git on windows", với và mà không có proxy nhưng không phải là một bản sao duy nhất cho địa phương đã xảy ra.git bị chặn, cách cài đặt mô-đun npm

Bây giờ vấn đề là cài đặt mô-đun npm, tôi đã thử tải xuống mô-đun (zip) từ trang web git (trên web) và thử cài đặt cục bộ, nhưng vấn đề ở đây là số lượng lớn phụ thuộc, . dễ dàng kéo các mô-đun một để điền phụ thuộc (và phụ thuộc bên trong).

Vậy làm thế nào để giải quyết vấn đề này, tôi cảm thấy có thể có ba cách để tìm kiếm giải pháp:

  • phép git đường hầm thông qua tường lửa (tôi không có bạn bè trong n/nhóm w).
  • Đề xuất cho tôi một số cách để kéo mô-đun với các phụ thuộc trên http: // (và không phải git: //) khi thực hiện cài đặt npm.
  • Tải xuống từ mô-đun trang web git + phụ thuộc đầy đủ, trong một lần chụp.
+0

Bạn đã thử kết nối với GitHub qua https chưa? git //: cũng bị chặn đối với chúng tôi nhưng chúng tôi có thể kết nối qua https. Tài liệu cho [npm install] (https://npmjs.org/doc/install.html) cũng cung cấp tùy chọn này. – mickfold

+0

@penfold SSH là một giải pháp thay thế tốt quá –

+0

Proxy của bạn có yêu cầu xác thực không? – laktak

Trả lời

60

sao chép từ câu trả lời này https://stackoverflow.com/a/10729634/1095114


Nếu đây là một vấn đề với tường lửa của bạn ngăn chặn các git: cổng giao thức (9418), sau đó bạn nên thực hiện một sự thay đổi bền bỉ hơn, do đó bạn không phải nhớ ra lệnh được đề xuất bởi các bài viết khác cho mỗi repo git. Điều này cũng chỉ hoạt động đối với các mô-đun con có thể đang sử dụng giao thức git://.

Đơn giản chỉ cần thực hiện lệnh sau:

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

này chỉ đơn giản thêm hai dòng sau vào ~/.gitconfig:

[url "https://"] insteadOf = git://

Bây giờ, như một phép màu, tất cả git các lệnh sẽ thực hiện thay thế là git:// đến https://

+1

Tôi đã thử trên bảng điều khiển nguồn nhưng nó không hoạt động – sij

+1

Cảm ơn, đã giải quyết được sự cố của tôi, không thể nhận git: // qua proxy –

+0

Tôi cũng gặp sự cố khi tệp gitconfig của tôi không được chọn vì thư mục chính của tôi đã được gắn kết. Chạy 'git config --list --show-origin' trong git v2.8 và ở trên đã giúp tôi tìm tất cả các tệp cấu hình và đảm bảo chúng có cùng một tập hợp biến. – WiteCastle

1

Npm và git không sử dụng cài đặt proxy Windows của bạn.

Bạn có thể cấu hình chúng với:

set HTTP_PROXY=http://user:[email protected]:port 

Xem thêm https://superuser.com/questions/347476/how-to-install-npm-behind-authentication-proxy-on-windows


Nếu bạn không thể có được proxy của bạn làm việc bạn có thể chạy npm install trên một máy mà có một kết nối internet trực tiếp (ví dụ: máy chủ trong dmz, tại nhà cung cấp dịch vụ lưu trữ của bạn, trong đám mây, v.v.) và sau đó sao chép thư mục node_modules vào máy cục bộ của bạn.

+0

cũng đã thử điều này và thậm chí đã thử với cntlm nhưng không thành công :( – sij

0

Cài đặt proxy git làm việc cho tôi để sao chép các bản repo từ github. Nhưng, khi cài đặt/cập nhật mô-đun npm sử dụng url git, tôi vẫn nhận được lỗi hết thời gian chờ. Cách giải quyết cho tôi là đặt proxy theo cách thủ công trong tệp .git/config cho repo.

[http] 
    proxy = http://proxy.company.com:8888 

Nhưng chờ đợi, có nhiều hơn: điều này làm việc cho một số url git nhưng không cho người khác. Cách giải quyết thứ hai và cuối cùng là để đảm bảo proxy git được thiết lập trong cả hai tập tin cấu hình người sử dụng, vì máy tính của tôi đã có một chia sẻ về nhà dùng mạng trên tôi lái xe:

I:\.gitconfig 
C:\Users\<userid>\.gitconfig 

Tín dụng cho this comment.