Instale ramificação específica do github usando o Npm

164

Gostaria de instalar o bootstrap-loader do github no meu projeto usando o npm

Atualmente, eles mantêm duas versões deste projeto, que podem ser mantidas com as versões 1 e 2 do webpack.

Eu gostaria de instalar a versão 1 . Qual comando npm devo usar para instalar isso?

Eu tentei usar abaixo de um, mas não está funcionando.

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

Respostas:

252

Existem colchetes extras no comando que você tentou.

Para instalar a versão mais recente da v1filial, você pode usar:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save
para que não
fonte
5
se tivéssemos que anexar a versão específica. então como seria junto com o branch?
Md_Zubair Ahmed
2
@Md_ZubairAhmed O nome do ramo em seu exemplo passou a ser chamado de "v1" - poderia ser chamado de algo como "meu ramo" e se comportou da mesma maneira.
Venryx 23/10/19
1
Se você deseja instalar um comit específico, você pode: npm install https://github.com/username/package#3d0a21ccOnde 3d0a21ccestão os oito primeiros caracteres do hash de confirmação. Encontrei esta resposta aqui
Derk Jan Speelman
62

Apenas faça:

npm install username/repo#branchName --save

por exemplo (meu nome de usuário é 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"

Uma coisa que também quero mencionar: não é uma boa ideia fazer check-in no package.json para que o servidor de construção faça a alteração automaticamente. Em vez disso, coloque o npm i (primeiro comando) no comando build e deixe o servidor apenas instalar e substituir o pacote.

Xin
fonte
Alguma chance de você fazer isso para um pacote dentro de um monorepo?
Paul Razvan Berg
@PaulRazvanBerg Sim, você pode fazernpm install <folder>
Thilak Rao
Não funciona: npm i facebook / github.com/facebook/jest.git#master --save. Ou então: npm i facebook/[email protected]: facebook / jest.git # master --save. Também não funciona
Donato
@Donato Por favor, siga o padrão no exemplo
Xin
@ Xin não funciona: npm i facebook / jest # master --save ERR! Não é possível instalar o github: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: Nome do pacote ausente
Donato
28

você pode fornecer o padrão git como version, yarn e npm são inteligentes o suficiente para resolver a partir de um repositório git.

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

ou para npm

npm install --save any-package@user-name/repo-name#branch-name
mkg
fonte
Não funciona Tente o seguinte: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato
5

Outra abordagem seria adicionar a seguinte linha às package.jsondependências:

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

Por exemplo:

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

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

E então faça npm installouyarn install

Ilarion Halushka
fonte
2

Estou usando o SSH para autenticar minha conta do GitHub e ter algumas dependências no meu projeto instaladas da seguinte maneira:

"dependencies": {
  "<dependency name>": "git+ssh://[email protected]/<github username>/<repository name>.git#<release version | branch>"
}
Esteban Borai
fonte
2
Obrigado por isso!
Alexey Strizhak
0

Tentei as respostas sugeridas, mas consegui trabalhar apenas com essa abordagem de prefixo:

npm i github:user/repo.git#version --save -D
Artjom Kurapov
fonte
2
Adicione algumas explicações com a resposta de como esta resposta ajuda o OP a corrigir o problema atual
#
0

Tive que colocar o url entre aspas para que funcionasse

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

O Doc do npm define que somente a tag / versão pode ser especificada após repo_url.

Aqui está o documento: https://docs.npmjs.com/cli/install

mENE
fonte
4
Os documentos afirmam claramente o que #commitishé permitidonpm install <git remote url>
kͩeͣmͮpͥ ͩ