web-dev-qa-db-ja.com

httpsのみを使用してBowerをインストールしますか?

組織のデータセンターのビルドサーバーにBowerを設定しようとしていますが、データセンターのファイアウォールでgitのポートが開いていないようです。 gitコマンドラインクライアントを使用して、https://[repo]を介してクローンを作成できますが、git://[repo]は使用できません。

httpsプロトコルではなくgitを使用してgit cloneを実行するようにbowerに指示するスイッチまたは設定はありますか?

ソースを見て、git://https://に置き換えるために解決コードを変更することを検討しましたが、それらの長さに進む前に尋ねる必要があると考えました。

257
arootbeer

Gitにプロトコルを置き換えさせることができます。とにかく走れ:

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

gitの代わりにHTTPSプロトコルを使用します。

628
Sindre Sorhus

@Sindreからの回答に基づいて、Bashで~/.bashrcファイルにある小さなヘルパー関数を作成しました。 gruntと同じように呼び出しますが、現在はnngruntと呼ばれています。楽しい!

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
}
2
quickshiftin

私のために働いたgit config --global url."git://".insteadOf https://