Installer une branche spécifique à partir de github en utilisant Npm


164

Je voudrais installer bootstrap-loader depuis github dans mon projet en utilisant npm

Actuellement, ils maintiennent deux versions de ce projet qui sont compatibles avec les versions 1 et 2 de Webpack.

Je souhaite installer la version 1 . Quelle commande npm dois-je utiliser pour l'installer?

J'ai essayé d'utiliser ci-dessous un mais cela ne fonctionne pas.

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

Réponses:


253

Il y a des crochets supplémentaires dans la commande que vous avez essayée.

Pour installer la dernière version de la v1branche, vous pouvez utiliser:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save

5
si nous devions joindre la version spécifique. alors comment serait-il avec la branche?
Md_Zubair Ahmed

2
@Md_ZubairAhmed Le nom de la branche dans son exemple s'est avéré être nommé "v1" - il pourrait être nommé autre chose comme "ma-branche", et se comporter de la même manière.
Venryx

1
Si vous souhaitez installer un comit spécifique, vous pouvez faire: npm install https://github.com/username/package#3d0a21cc3d0a21ccsont les huit premiers caractères du hachage de validation. J'ai trouvé cette réponse ici
Derk Jan Speelman

61

Faites simplement:

npm install username/repo#branchName --save

par exemple (mon nom d'utilisateur est 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"

Une chose que je tiens également à mentionner: ce n'est pas une bonne idée de vérifier dans le package.json pour que le serveur de compilation tire automatiquement le changement. Au lieu de cela, placez le npm i (première commande) dans la commande build et laissez le serveur installer et remplacer le package.


Avez-vous une chance de le faire pour un package dans un monorepo?
Paul Razvan Berg

@PaulRazvanBerg Oui, vous pouvez le fairenpm install <folder>
Thilak Rao

Ne fonctionne pas: npm i facebook / github.com/facebook/jest.git#master --save. Ou ceci: npm i facebook/git@github.com: facebook / jest.git # master --save. Ne fonctionne pas non plus
Donato

@Donato Veuillez suivre le modèle de l'exemple
Xin

@Xin ça ne marche pas: npm i facebook / jest # master --save ERR! Impossible d'installer github: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: nom de package manquant
Donato

29

vous pouvez donner un modèle git comme version, yarn et npm sont suffisamment intelligents pour être résolus à partir d'un repo git.

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

ou pour npm

npm install --save any-package@user-name/repo-name#branch-name

Ça ne marche pas. Essayez ce qui suit: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato

5

Une autre approche consisterait à ajouter la ligne suivante aux package.jsondépendances:

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

Par exemple:

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

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

Et puis faire npm installouyarn install


2

J'utilise SSH pour authentifier mon compte GitHub et installer quelques dépendances dans mon projet comme suit:

"dependencies": {
  "<dependency name>": "git+ssh://git@github.com/<github username>/<repository name>.git#<release version | branch>"
}

2
Merci pour ça!
Alexey Strizhak

1

J'ai dû mettre l'url entre guillemets pour que cela fonctionne

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

0

J'ai essayé des réponses suggérées, mais cela ne fonctionnait qu'avec cette approche de préfixe:

npm i github:user/repo.git#version --save -D

2
Ajoutez une explication avec une réponse pour savoir comment cette réponse aide OP à résoudre le problème actuel
ρяσѕρєя K

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.