Bower instal hanya menggunakan https?

257

Saya mencoba mengatur Bower di server build di pusat data organisasi kami, tetapi gitport tampaknya tidak terbuka di firewall pusat data. Saya dapat menggunakan klien baris perintah git untuk mengkloning https://[repo], tetapi tidak git://[repo].

Apakah ada saklar atau preferensi yang akan menginstruksikan bower untuk melakukan git clone menggunakan httpsdaripada gitprotokol?

Saya telah melihat sumber, dan dianggap mengubah kode resolusi untuk menggantikan git://dengan https://, tapi kupikir aku akan bertanya sebelum aku pergi ke mereka panjang.

arootbeer
sumber
2
kemungkinan duplikat git: konversikan url "git" menjadi url "http"
Rémi Becheras

Jawaban:

629

Anda dapat membuat git mengganti protokol untuk Anda. Lari saja:

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

untuk menggunakan protokol HTTPS, bukan Git.

Sindre Sorhus
sumber
13
Saya merasa sangat bodoh. Saya terus mencoba bagian dari perintah sebelum. Sebenarnya berpikir bahwa @Sindre memberitahu kita untuk menggunakan git sebagai gantinya . Semoga kesedihan ini seperti perintah bahasa Inggris.
pekik
99
Seandainya ada orang lain yang menerapkan jawaban ini dan kemudian bertanya-tanya bagaimana cara mundur bahwa perubahan konfigurasi global (seperti saya), itu adalah:git config --global --unset url."https://".insteadOf
ryan_effectiveui
21
Anda juga dapat menghilangkan --globaldan itu akan menambah konfigurasi ke lokal .git/config.
Helder S Ribeiro
24
Pada mesin Windows, file konfigurasi global adalah .gitconfig di bawah folder rumah pengguna, misalnya C: \ Users [nama pengguna]. Namun jika% HOME% tidak didefinisikan, git akan menggunakan% HOMEDRIVE% sementara git dari bower akan menggunakan% USERPROFILE% sebagai gantinya. Padahal kedua variabel ini mungkin berbeda. Di mesin saya, satu adalah U :, yang lain adalah C: \ Users \ myusername. Jadi bower masih menggunakan git: // apa pun yang saya coba. Butuh beberapa saat untuk memikirkan hal ini. Jadi, tuliskan kalau-kalau ada yang jatuh dalam situasi yang sama.
AnthonyY
2
@VincentGauthier Di Windows, luncurkan System Properties -> Advanced -> Variabel Lingkungan -> SystemVariables -> Baru -> Tambahkan variabel bernama HOME dan tetapkan nilainya ke jalur yang Anda inginkan
Nick
2

Membangun jawaban dari @Sindre, saya menulis fungsi pembantu kecil di BASH yang tinggal di ~/.bashrcfile saya . Sebut saja seperti yang Anda inginkan grunt, kecuali sekarang disebut nngrunt. Nikmati!

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
}
quickshiftin
sumber
1

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

Mansoorulhaq Mansoor
sumber