我有一个嵌入式系统,我无法安装任何东西,我可能用来获取某些东西的唯一工具是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