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

Silver Zachara
sumber

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
Kasiriveni
sumber
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://[email protected]/fancyapps/fancybox#3.0
GusDeCooL
25

Untuk url gaya ssh tambahkan saja ssh sebelum url:

yarn add ssh://<whatever>@<xxx>#<branch,tag,commit>
Tyler
sumber
9
Ini berhasil bagi saya ketika yarnmenolak untuk menghormati gitsintaks url ssh umum : Berhasil: yarn add ssh://[email protected]:my-org/my-repo#commit_hashTidak berfungsi:yarn add [email protected]: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://[email protected]:myproject.git#<branch,tag,commit>'
npm install 'ssh://[email protected]:myproject.git#<branch,tag,commit>'
Eduardo Cuomo
sumber
3

Saya menggunakan format singkat ini untuk repositori github:

yarn add github_user/repository_name#commit_hash

betoharres
sumber