Cara menginstal paket dari github repo di Yarn


158

Ketika saya menggunakan npm install fancyapps/fancybox#v2.6.1 --save, maka paket fancybox di tag v2.6.1 akan diinstal. Perilaku ini dijelaskan dalam dokumen

Saya ingin bertanya, bagaimana melakukan ini dengan yarn?

Apakah perintah ini alternatif yang tepat? Dalam dokumen benang tidak ada apa-apa tentang format ini.

yarn add fancyapps/fancybox#v2.6.1

Jawaban:


231

Anda dapat menambahkan repositori Git (atau tarball) apa pun sebagai dependensi yarndengan menentukan URL jarak jauh (baik HTTPS atau SSH):

yarn add <git remote url> installs a package from a remote git repository.
yarn add <git remote url>#<branch/commit/tag> installs a package from a remote git repository at specific git branch, git commit or git tag.
yarn add https://my-project.org/package.tgz installs a package from a remote gzipped tarball.

Berikut beberapa contohnya:

yarn add https://github.com/fancyapps/fancybox [remote url]
yarn add ssh://github.com/fancyapps/fancybox#3.0  [branch]
yarn add https://github.com/fancyapps/fancybox#5cda5b529ce3fb6c167a55d42ee5a316e921d95f [commit]

(Catatan: Fancybox v2.6.1 tidak tersedia di versi Git.)

Untuk mendukung npm dan benang, Anda dapat menggunakan sintaks git + url:

git+https://github.com/owner/package.git#commithashortagorbranch
git+ssh://github.com/owner/package.git#commithashortagorbranch

5
tetapi tidak dapat menggunakan git @ xxx style
Jiang YD

Jika opsi SSH ditambahkan ke jawaban ini, kami mungkin bisa kehilangan semua yang lain.
toxaq

Jangan lupa Anda dapat menggunakan pembuatan versi semantik! yarn add https://github.com/fancyapps/fancybox.git#semver:^3.0Ini akan menarik versi utama terbaru, yang saat ini 3.5.7.
Elte156

1
Menambahkan folder dist mungkin diperlukan juga untuk menyelesaikan modul.
oligopol

2
Untuk SSH dengan repositori pribadi, saya merasa kita perlu menambahkan pengguna git. misalnya:yarn add ssh://git@github.com/fancyapps/fancybox#3.0
GusDeCooL

25

Untuk url gaya ssh tambahkan saja ssh sebelum url:

yarn add ssh://<whatever>@<xxx>#<branch,tag,commit>

9
Ini berhasil bagi saya ketika yarnmenolak untuk menghormati gitsintaks url ssh umum : Berhasil: yarn add ssh://git@github.com:my-org/my-repo#commit_hashTidak berfungsi:yarn add git@github.com:my-org/my-repo#commit_hash
kilogic

Apakah ada cara untuk melakukan itu selain dari package.json dengan yarn install?
Kévin Sanchez Lacroix


10

Untuk repositori pribadi GitHub (atau serupa):

yarn add 'ssh://git@github.com:myproject.git#<branch,tag,commit>'
npm install 'ssh://git@github.com:myproject.git#<branch,tag,commit>'

3

Saya menggunakan format singkat ini untuk repositori github:

yarn add github_user/repository_name#commit_hash

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.