ติดตั้ง Bower โดยใช้ https เท่านั้นหรือ


257

ฉันกำลังพยายามตั้งค่า Bower บนเซิร์ฟเวอร์ build ที่ศูนย์ข้อมูลขององค์กรของเรา แต่gitพอร์ตของดูเหมือนจะไม่เปิดในไฟร์วอลล์ของศูนย์ข้อมูล ฉันสามารถใช้ไคลเอ็นต์บรรทัดคำสั่งคอมไพล์ที่จะโคลนผ่านแต่ไม่ได้https://[repo]git://[repo]

มีสวิทช์หรือการตั้งค่าที่จะแนะนำซุ้มเพื่อดำเนินการโคลนคอมไพล์โดยใช้httpsมากกว่าgitโปรโตคอล?

ฉันดูที่แหล่งที่มาและพิจารณาเปลี่ยนรหัสความละเอียดเพื่อแทนที่git://ด้วยhttps://แต่ฉันคิดว่าฉันจะถามก่อนที่จะไปถึงความยาวเหล่านั้น


2
สำเนาซ้ำได้ของgit: แปลง "git" urls เป็น "http" urls
Rémi Becheras

คำตอบ:


629

คุณสามารถสร้างคอมไพล์แทนโปรโตคอลให้คุณได้ เพิ่งรัน:

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

เพื่อใช้โปรโตคอล HTTPS แทน Git


13
ฉันรู้สึกเป็นใบ้จริงๆ ฉันพยายามใช้ส่วนของคำสั่งก่อนหน้านี้. insteadOf โดยคิดว่า @Sindre บอกให้เราใช้ git แทน git ความเศร้าโศกดีคำสั่งเหมือนภาษาอังกฤษเหล่านี้
กรีด

99
ในกรณีที่คนอื่นใช้คำตอบนี้แล้วสงสัยในภายหลังว่าจะกลับมาเปลี่ยนแปลงการกำหนดค่าทั่วโลก (เช่นฉัน) ได้อย่างไร:git config --global --unset url."https://".insteadOf
ryan_effectiveui

21
นอกจากนี้คุณยังสามารถละเว้นและมันจะเพิ่มการตั้งค่าเพื่อท้องถิ่น--global .git/config
Helder S Ribeiro

24
บนเครื่อง Windows ไฟล์กำหนดค่าส่วนกลางคือ. gitconfig ภายใต้โฟลเดอร์บ้านของผู้ใช้เช่น C: \ Users [ชื่อผู้ใช้] อย่างไรก็ตามหากไม่ได้กำหนด% HOME% ไว้ git จะใช้% HOMEDRIVE% ในขณะที่ git จาก bower จะใช้% USERPROFILE% แทน ในขณะที่ตัวแปรสองตัวนี้อาจแตกต่างกัน บนเครื่องของฉันหนึ่งอันคือ U: อีกอันคือ C: \ Users \ myusername ดังนั้นร่มยังใช้ git: // สิ่งที่ฉันลอง ฉันต้องใช้เวลาพอสมควรในการคิดออก ดังนั้นจงจดไว้ในกรณีที่มีใครตกอยู่ในสถานการณ์เดียวกัน
AnthonyY

2
@VincentGauthier ใน Windows เปิดใช้คุณสมบัติระบบ -> ขั้นสูง -> ตัวแปรสภาพแวดล้อม -> SystemVariables -> ใหม่ -> เพิ่มตัวแปรชื่อ HOME และตั้งค่าเป็นเส้นทางที่คุณต้องการ
Nick

2

จากคำตอบของ @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
}

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.