Instale una rama específica de github usando Npm


164

Me gustaría instalar bootstrap-loader desde github en mi proyecto usando npm

Actualmente están manteniendo dos versiones de este proyecto que son compatibles con las versiones webpack 1 y 2.

Me gustaría instalar la versión 1 . ¿Qué comando npm debo usar para instalar esto?

Intenté usar debajo de uno pero no funciona.

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

Respuestas:


253

Hay corchetes adicionales en el comando que intentó.

Para instalar la última versión desde la v1sucursal, puede usar:

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

55
si tuviéramos que adjuntar la versión específica. entonces, ¿cómo sería junto con la rama?
Md_Zubair Ahmed

2
@Md_ZubairAhmed El nombre de la sucursal en su ejemplo acaba de llamarse "v1"; podría llamarse de otra manera como "my-branch" y comportarse de la misma manera.
Venryx

1
Si desea instalar un comit específico, puede hacer: npm install https://github.com/username/package#3d0a21cc¿Dónde 3d0a21ccestán los primeros ocho caracteres del hash commit? Encontré esta respuesta aquí
Derk Jan Speelman

61

Solo haz:

npm install username/repo#branchName --save

por ejemplo (mi nombre de usuario es 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"

Una cosa que también quiero mencionar: no es una buena idea revisar el paquete.json para que el servidor de compilación realice automáticamente el cambio. En su lugar, coloque el npm i (primer comando) en el comando de compilación y deje que el servidor simplemente instale y reemplace el paquete.


¿Hay alguna posibilidad de que puedas hacer esto por un paquete dentro de un monorepo?
Paul Razvan Berg

@PaulRazvanBerg Sí, puedes hacerlonpm install <folder>
Thilak Rao

No funciona: npm i facebook / github.com/facebook/jest.git#master --save. O esto: npm i facebook/git@github.com: facebook / jest.git # master --save. Tampoco funciona
Donato

@Donato Por favor, siga el patrón en el ejemplo
Xin

@Xin no funciona: npm i facebook / jest # master --save ERR! No se puede instalar github: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: Falta el nombre del paquete
Donato

29

puede dar el patrón git como versión, el hilo y el npm son lo suficientemente inteligentes como para resolverlos a partir de un repositorio git.

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

o para npm

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

No funciona Pruebe lo siguiente: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato

5

Otro enfoque sería agregar la siguiente línea a las package.jsondependencias:

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

Por ejemplo:

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

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

Y luego hacer npm installoyarn install


2

Estoy usando SSH para autenticar mi cuenta de GitHub y tengo un par de dependencias en mi proyecto instaladas de la siguiente manera:

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

2
¡Gracias por esto!
Alexey Strizhak

1

Tuve que poner la URL entre comillas para que funcione

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

0

Intenté respuestas sugeridas, pero funcionó solo con este enfoque de prefijo:

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

2
Añadir un poco de explicación con la respuesta de cómo esta respuesta ayuda OP en la fijación de edición actual
ρяσѕρєя K

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.