Bower cài đặt chỉ sử dụng https?


257

Tôi đang cố gắng thiết lập Bower trên máy chủ xây dựng tại trung tâm dữ liệu của tổ chức chúng tôi, nhưng gitcổng của nó dường như không mở trên tường lửa của trung tâm dữ liệu. Tôi có thể sử dụng máy khách dòng lệnh git để sao chép qua https://[repo], nhưng không git://[repo].

Có một chuyển đổi hoặc ưu tiên sẽ hướng dẫn Bower thực hiện git clone bằng cách sử dụng httpschứ không phải gitgiao thức?

Tôi đã xem xét các nguồn, và được coi là thay đổi mã có độ phân giải để thay thế git://với https://, nhưng tôi figured tôi muốn hỏi trước khi tôi đi đến những độ dài.


Câu trả lời:


629

Bạn có thể làm cho git thay thế giao thức cho bạn. Chỉ cần chạy:

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

để sử dụng giao thức HTTPS thay vì Git.


13
Tôi cảm thấy thật ngớ ngẩn. Tôi tiếp tục thử phần lệnh trước .insteadOf nghĩ rằng @Sindre đang bảo chúng tôi sử dụng git thayOf git. Tốt đau buồn những lệnh giống như tiếng Anh.
hét

99
Trong trường hợp bất kỳ ai khác áp dụng câu trả lời này và sau đó tự hỏi làm thế nào để sao lưu sự thay đổi cấu hình toàn cầu đó (như tôi), đó là:git config --global --unset url."https://".insteadOf
ryan_effectiveui

21
Bạn cũng có thể bỏ qua --globalvà nó sẽ thêm cấu hình cho cục bộ .git/config.
Helder S Ribeiro

24
Trên máy Windows, tệp cấu hình toàn cầu là .gitconfig trong thư mục chính của người dùng, ví dụ: C: \ Users [tên người dùng]. Tuy nhiên, nếu% HOME% không được xác định, git sẽ sử dụng% HOMEDRIVE% trong khi git từ bower sẽ sử dụng% USERPROFILE% thay thế. Trong khi hai biến này có thể khác nhau. Trên máy của tôi, một cái là U:, cái còn lại là C: \ Users \ myusername. Vì vậy, bower vẫn sử dụng git: // bất cứ điều gì tôi đã thử. Tôi phải mất một thời gian để tìm ra điều này. Vì vậy, viết nó xuống trong trường hợp bất cứ ai rơi vào tình huống tương tự.
AnthonyY

2
@VincentGauthier Trong Windows, khởi chạy Thuộc tính hệ thống -> Nâng cao -> Biến môi trường -> Biến hệ thống -> Mới -> Thêm một biến có tên HOME và đặt giá trị của nó vào đường dẫn mong muốn của bạn
Nick

2

Dựa trên câu trả lời từ @Sindre, tôi đã viết một hàm trợ giúp nhỏ trong BASH có trong ~/.bashrctệp của tôi . Gọi nó như bạn muốn grunt, ngoại trừ bây giờ nó được gọi nngrunt. Thưởng thức!

function nngrunt
{
    # Add a section to the global gitconfig file ~/.gitconfig that tells git to
    # go over http instead of the git protocol, otherwise bower has fits...
    # See http://stackoverflow.com/questions/15669091/bower-install-using-only-https
    git config --global url."https://".insteadOf git://

    # Run grunt w/ any supplied args
    grunt "$@"

    # Now cleanup the section we added to the git config file
    # Of course we have our own extra cleanup to do via sed since the unset command
    # leaves the section around
    # See http://git.661346.n2.nabble.com/git-config-unset-does-not-remove-section-td7569639.html
    git config --global --unset url."https://".insteadOf
    sed -i 's/\[url "https:\/\/"\]//' ~/.gitconfig
    sed -i '/^$/d' ~/.gitconfig
}

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.