我有一個嵌入式系統,我無法安裝任何東西,我可能用來獲取某些東西的唯一工具是wget。事實證明,你不能用wget做與捲曲相同的事情。我無法爲這個系統交叉編譯,所以我需要求助於Python或shell腳本。有一種名爲Dulwich的git的純Python實現實際上有一些我需要交叉編譯的C代碼......所以我甚至用這個函數來查看這個,FYI。從github下載tarball而不捲曲
我需要的是從github存儲庫獲取代碼,並且明顯的解決方案是使用他們提供的tarball。我通常複製鏈接以從存儲庫頁面下載zip按鈕,並使用授權令牌代替用戶名和密碼。它的工作原理很簡單,捲曲,像這樣:
curl -L https://<token>@github.com/<org|user>/<repo>/archive/master.tar.gz | tar xz
原來wget的是較爲尷尬,無論我嘗試了不工作。
你爲什麼不能交叉編譯? –
原因我沒有相同的工具鏈來編譯動態鏈接版本的curl(或git)。如果我嘗試編譯這兩者中的任何一個的靜態鏈接版本,則可能需要很長時間才能從頭開始整理所有依賴關係。爲什麼我真的必須,如果完整版的wget已經存在了...而且我也有Python,但是使用urllib2可能會非常乏味,我需要明確地處理重定向和重試等內容。 – errordeveloper
Dulwich中的C代碼是可選的。您可以使用「setup.py install --pure」構建而無需使用Dulwich。儘管如此,C擴展將顯着改善較大存儲庫的性能。 – jelmer