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 
Sachin
fuente

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
para que no
fuente
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.

Xin
fuente
¿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/[email protected]: 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
mkg
fuente
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

Ilarion Halushka
fuente
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://[email protected]/<github username>/<repository name>.git#<release version | branch>"
}
Esteban Borai
fuente
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
usuario2643679
fuente
0

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

npm i github:user/repo.git#version --save -D
Artjom Kurapov
fuente
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
-3

El Doc de npm define que solo se puede especificar la etiqueta / versión después de repo_url.

Aquí está el Doc: https://docs.npmjs.com/cli/install

MENÚ
fuente
44
Los documentos indican claramente que #commitishestá permitidonpm install <git remote url>
kͩeͣmͮpͥ ͩ