用curl下载github发布

Den*_*boy 2 curl github

这个URL上,我可以下载一个包含正式版本的.tar.gz.(我知道它也可以在API端点上使用,但它也包含测试包.

现在我想知道为什么这不起作用:

$ curl -O https://github.com/yarnpkg/yarn/releases/download/v0.23.4/yarn-v0.23.4.tar.gz
Run Code Online (Sandbox Code Playgroud)

我得到一些.tar.gz4KB而不是3.6MB.它没有显示错误.我错过了什么?如果可能的话,我想使用此URL而不是API.

a.w*_*ker 7

如果你使用wget https://github.com/yarnpkg/yarn/releases/download/v0.23.4/yarn-v0.23.4.tar.gz它正确下载.

或者如果你想使用curl,你必须使用redirect -L选项来关注重定向链接并将输出定向到像curl这样的文件-L https://github.com/yarnpkg/yarn/releases/download/v0.23.4/ya rn-v0.23.4.tar.gz> yarn.t ar.gz

  • 或者执行 `curl -OL <link>` 自动选择文件名。 (3认同)

And*_*ewD 5

使用 wget 从 GitHub 下载 2021 更新

还将扩展和删除存档。只需编辑 REPLACE_ 值,然后复制/粘贴

tgz

GH_USER=REPLACE_WITH_USER \
GH_REPO=REPLACE_WITH_REPO \
GH_BRANCH=REPLACE_WITH_BRANCH \
wget https://github.com/${GH_USER}/${GH_REPO}/archive/refs/tags/${GH_BRANCH}.tar.gz \
-O "${GH_REPO}-${GH_BRANCH}.tar.gz" && \
tar -xzvf ./"${GH_REPO}-${GH_BRANCH}.tar.gz" && \
rm ./"${GH_REPO}-${GH_BRANCH}.tar.gz"
Run Code Online (Sandbox Code Playgroud)

压缩

GH_USER=REPLACE_WITH_USER \
GH_REPO=REPLACE_WITH_REPO \
GH_BRANCH=REPLACE_WITH_BRANCH \
wget https://github.com/${GH_USER}/${GH_REPO}/archive/refs/tags/${GH_BRANCH}.zip \
-O "${GH_REPO}-${GH_BRANCH}.zip" && \ 
unzip ./"${GH_REPO}-${GH_BRANCH}.zip" && \
rm ./"${GH_REPO}-${GH_BRANCH}.zip"
Run Code Online (Sandbox Code Playgroud)

  • 看起来这会下载源发行版。OP 正在尝试下载发行二进制文件。 (6认同)