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 
Sachin
la source

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
de peur
la source
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.

Xin
la source
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/[email protected]: 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
mkg
la source
Ç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

Ilarion Halushka
la source
2

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

"dependencies": {
  "<dependency name>": "git+ssh://[email protected]/<github username>/<repository name>.git#<release version | branch>"
}
Esteban Borai
la source
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
user2643679
la source
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
Artjom Kurapov
la source
2
Ajoutez une explication avec une réponse pour savoir comment cette réponse aide OP à résoudre le problème actuel
ρяσѕρєя K
-3

Le document du npm définit que seule la balise / version peut être spécifiée après repo_url.

Voici le document: https://docs.npmjs.com/cli/install

mEnE
la source
4
Les documents indiquent clairement qu'il #commitishest autorisé pournpm install <git remote url>
kͩeͣmͮpͥ ͩ