Eu li Como fazer bifurcação e correção de módulos npm e segui as instruções, mas não consegui fazer funcionar para mim. Olhando para o log do npm, descobri que o problema estava nos arquivos zip sendo baixados, e não nos tarballs. Então, aqui está o truque sobre como incluir seu repositório GitHub corretamente em npm
:
- Vá para a página do fork
- No lado direito da página, você encontrará o botão “Baixar ZIP” (ou o que quer que esteja vendo). Clique com o botão direito nele e copie o link para o qual ele aponta. Deve ser algo parecido
https://github.com/SoftwareMarbles/jugglingdb/archive/master.zip
. - Editar URL do link substituindo
archive
comtarball
e remover a.zip
extensão. Você deve acabar com algo parecidohttps://github.com/SoftwareMarbles/jugglingdb/tarball/master
. - Cole isso no seu em
package.json
vez da versão do pacote:
"jugglingdb": "https://github.com/SoftwareMarbles/jugglingdb/tarball/master"
E é isso – npm install
funciona como deveria e instala o módulo a partir do link.
Você pode fazer o mesmo para um commit específico (e na verdade isso é o que este protocolo recomendava originalmente):
- Vá para a página do fork
- Vá para os commits
- No lado direito do commit que você deseja usar, clique em “Procurar código”
- Na página de código de navegação, clique com o botão direito do mouse no botão “Baixar ZIP” (ou o que quer que você esteja vendo) e copie. Deve ser algo assim
https://github.com/SoftwareMarbles/express-jsend/archive/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d.zip
. - Editar que URL substituindo
archive
comtarball
e remover a.zip
extensão. Você deve acabar com algo parecidohttps://github.com/SoftwareMarbles/express-jsend/tarball/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d
. - Cole isso no seu package.json em vez da versão. Como isso:
"express-jsend": "https://github.com/SoftwareMarbles/express-jsend/tarball/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d"