Saya mencoba mengunduh tarball dari GitHub menggunakan cURL , tetapi tampaknya tidak mengarahkan:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2
<html><body>You are being <a href="https://nodeload.github.com/pinard/Pymacs/tarball/v0.24-beta2">redirected</a>.</body></html>
Catatan: wget bekerja untuk saya:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
Namun saya ingin menggunakan cURL karena pada akhirnya saya ingin memisahkannya dengan sesuatu seperti:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
Saya menemukan bahwa URL setelah pengalihan ternyata https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz , tapi saya ingin cURL cukup pintar untuk memahami ini keluar.
https
, Anda mungkin juga membutuhkan-k
.-L
berarti mengikuti pengalihan.Cara modern untuk melakukan ini adalah:
Ganti
user-or-org
,,repo
dansha1-or-ref
sesuai.Jika Anda menginginkan file zip dan bukan tarball, tentukan
.zip
sebagai pengganti.tar.gz
sufiks.Anda juga dapat mengambil arsip dari repo pribadi, dengan menentukan
-u token:x-oauth-basic
opsi untuk menggulung. Gantitoken
dengan token akses pribadi.sumber
https://[email protected]/user-or-org/repo/archive/sha1-or-ref.tar.gz
curl -OL https://github.com/user-or-org/repo/releases/download/version/<asset name>.tar.gz
Lihat contoh di sini.../tarball/...
metode hanya menghasilkan tar.gz? GH kemudian menambahkan metode yang lebih fleksibel yang memungkinkan Anda mengekstrak arsip dalam format yang Anda inginkan berdasarkan sufiks.tar.gz
atau.zip
. Saya tidak ingat lagi mengapa saya menulis posting ini.Anda juga dapat menggunakan wget untuk »melepaskannya sebaris«. Cukup tentukan stdout sebagai file output (
-O -
):sumber
Semua solusi lain memerlukan penetapan nomor rilis / versi yang jelas merusak otomatisasi.
Solusi ini - saat ini telah diuji dan diketahui berfungsi dengan Github API v3 - namun dapat digunakan secara terprogram untuk mengambil rilis TERBARU tanpa menentukan tag atau nomor rilis apa pun dan melepaskan biner ke nama arbitrer yang Anda tentukan di switch
--one-top-level="pi-ap"
. Cukup tukar pengguna f1linux dan repo pi-ap di contoh di bawah ini dengan detail Anda sendiri dan paman Bob Anda:sumber
dengan arah tertentu
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx
sumber
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -