Instal cabang tertentu dari github menggunakan Npm

164

Saya ingin menginstal bootstrap-loader dari github di proyek saya menggunakan npm

Saat ini mereka mempertahankan dua versi proyek ini yang dapat digunakan dengan webpack versi 1 dan 2.

Saya ingin menginstal versi 1 . Apa perintah npm yang harus saya gunakan untuk menginstal ini?

Saya mencoba menggunakan di bawah satu tetapi tidak berfungsi.

npm install git://github.com/shakacode/bootstrap-loader.git[#v1] --Save 
Sachin
sumber

Jawaban:

253

Ada tanda kurung kotak tambahan dalam perintah yang Anda coba.

Untuk menginstal versi terbaru dari v1cabang, Anda dapat menggunakan:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save
jangan sampai
sumber
5
jika kami harus melampirkan versi spesifik. lalu bagaimana dengan cabang?
Md_Zubair Ahmed
2
@ MD_ZubairAhmed Nama cabang dalam contohnya kebetulan bernama "v1" - nama itu bisa dinamai yang lain seperti "cabang-saya", dan berperilaku dengan cara yang sama.
Venryx
1
Jika Anda ingin menginstal komit tertentu, Anda dapat melakukan: npm install https://github.com/username/package#3d0a21ccDi mana 3d0a21ccdelapan karakter pertama dari hash komit. Saya menemukan jawaban ini di sini
Derk Jan Speelman
61

Kerjakan saja:

npm install username/repo#branchName --save

mis. (nama pengguna saya betimer)

npm i betimer/rtc-attach#master --save

// and what will appear in your package.json will be:
"rtc-attach": "github:betimer/rtc-attach#master"

Satu hal yang juga ingin saya sebutkan: itu bukan ide yang baik untuk memeriksa di package.json untuk server otomatis membangun perubahan. Sebagai gantinya, masukkan npm i (perintah pertama) ke dalam perintah build, dan biarkan server menginstal dan mengganti paket.

Xin
sumber
Apakah Anda bisa melakukan ini untuk paket dalam monorepo?
Paul Razvan Berg
@ PaulRazvanBerg Ya, Anda bisa melakukannyanpm install <folder>
Thilak Rao
Tidak berfungsi: npm i facebook / github.com/facebook/jest.git#master --save . Atau ini: npm i facebook/[email protected]: facebook / jest.git # master --save. Juga tidak berfungsi
Donato
@ Donato Harap ikuti pola dalam contoh
Xin
@ Xin tidak berfungsi: npm i facebook / jest # master --simpan ERR! Tidak dapat menginstal github: facebook / canda # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: Nama paket tidak ada
Donato
29

Anda dapat memberikan pola git karena versi, benang dan npm cukup pintar untuk diselesaikan dari repo git.

yarn add any-package@user-name/repo-name#branch-name

atau untuk npm

npm install --save any-package@user-name/repo-name#branch-name
mkg
sumber
Tidak bekerja Coba yang berikut ini: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato
5

Pendekatan lain adalah menambahkan baris berikut ke package.jsondependensi:

"package-name": "user/repo#branch"

Sebagai contoh:

"dependencies": {
    ... other dependencies ...

    "react-native": "facebook/react-native#master"
}

Dan kemudian lakukan npm installatauyarn install

Ilarion Halushka
sumber
2

Saya menggunakan SSH untuk mengautentikasi akun GitHub saya dan menginstal beberapa dependensi dalam proyek saya sebagai berikut:

"dependencies": {
  "<dependency name>": "git+ssh://[email protected]/<github username>/<repository name>.git#<release version | branch>"
}
Esteban Borai
sumber
2
Terima kasih untuk ini!
Alexey Strizhak
1

Harus meletakkan url di tanda kutip agar berfungsi

npm install "https://github.com/shakacode/bootstrap-loader.git#v1" --save
pengguna2643679
sumber
0

Sudah mencoba jawaban yang disarankan, tetapi membuatnya hanya berfungsi dengan pendekatan awalan ini:

npm i github:user/repo.git#version --save -D
Artjom Kurapov
sumber
2
Tambahkan beberapa penjelasan dengan jawaban untuk bagaimana jawaban ini membantu OP dalam memperbaiki masalah saat ini
ρяσѕρєя K
-3

Doc dari npm mendefinisikan bahwa hanya tag / versi yang dapat ditentukan setelah repo_url.

Inilah Doc: https://docs.npmjs.com/cli/install

mEnE
sumber
4
Dokumen-dokumen tersebut dengan jelas menyatakan bahwa #commitishdiperbolehkan untuknpm install <git remote url>
kͩeͣmͮpͥ ͩ