85

On this URL I'm able to download a .tar.gz which contains an official release. (I know it's also available on an API endpoint but this contains the test package too.

Now I'm wondering why this isn't working:

$ curl -O https://github.com/yarnpkg/yarn/releases/download/v0.23.4/yarn-v0.23.4.tar.gz

I get some .tar.gz which is 4KB instead of 3.6MB. It isn't showing an error. What am I missing? I want to use this URL and not the API if that's possible.

DenCowboy
  • 13,884
  • 38
  • 114
  • 210

2 Answers2

138

If you do the following it will download correctly:

wget https://github.com/yarnpkg/yarn/releases/download/v0.23.4/yarn-v0.23.4.tar.gz

If you want to use curl you have to use the redirect -L option to follow redirect link and direct the output in a file like this:

curl -L https://github.com/yarnpkg/yarn/releases/download/v0.23.4/ya‌​rn-v0.23.4.tar.gz > yarn.tar.gz
KyleMit
  • 30,350
  • 66
  • 462
  • 664
a.walker
  • 1,396
  • 1
  • 9
  • 5
  • 28
    Or alternatively do `curl -OL ` to automatically select filename. – knoftrix Feb 24 '21 at 08:29
  • [This gist](https://gist.github.com/jwebcat/5122366) also has a pretty good discussion on what those flags are and why use them. In case you don't feel like scrolling the the man page. – qwerty Aug 11 '23 at 21:43
4

2021 Update Download from GitHub Using wget

Will also expand and delete the archive. Just edit the REPLACE_ values and then copy/paste

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"

zip

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"
AndrewD
  • 4,924
  • 3
  • 30
  • 32