2013-05-03 12 views

Odpowiedz

430

Z npm docs:

git://github.com/<user>/<project>.git#<branch> 

git://github.com/<user>/<project>.git#feature\/<branch> 
+113

Od 1m 1.1.65 adres URL Github może być bardziej zwięzłym 'użytkownikiem/projektem'. https://www.npmjs.org/doc/files/package.json.html Możesz dołączyć gałąź taką jak 'user/project # branch' – dantheta

+1

' git: //github.com/ / .git # feature/blah' działał, ale '/ .git # feature/blah' nie ... może ich regex musi być bardziej zaawansowany, aby wziąć pod uwagę' feature/blah'. To był npm 'v1.4.28' – pulkitsinghal

+1

Jak dołączyć numer wersji? – Richard

109

za użytkownika @ dantheta komentarza:

Jak NPM 1.1.65, Github URL może być bardziej zwięzły użytkownika/projekt. npmjs.org/doc/files/package.json.html Możesz dołączyć gałąź jak user/projektu # oddziału

Więc

"babel-eslint": "babel/babel-eslint", 

Albo dla znacznika v1.12.0 na spółkach akcyjnych:

"jscs": "jscs-dev/node-jscs#v1.12.0", 

Uwaga, jeśli używasz npm --save, dostaniesz dłuższy git

Od https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

Git adresy jak URL zależne

Git mogą być w postaci:

git: //github.com/user/project.git#commit-ish git + ssh: // użytkownik @hostname: project.git # popełnić-owski git + ssh: //[email protected]/project.git#commit-ish git + http://[email protected]/project/blah.git#commit-ish git + https://[email protected]/project/blah.git#commit-ish

popełnić-owski może być dowolny znacznik, sha, lub oddział, który może być dostarczony jako argument git checkout. Wartością domyślną jest master.

GitHub URL

Począwszy od wersji 1.1.65, można zwrócić się do adresów URL GitHub jak tylko "foo": "user/foo-projektu". Podobnie jak w przypadku adresów URL git, sufiks zatwierdzenia może być uwzględniony. Na przykład:

{"name": "foo",
"wersja": "0.0.0" ,
"Zależności": { "Expressu": "visionmedia/express", "mocha": "visionmedia/mokka # 4727d357ea" }}

+2

W zależności od zatwierdzenia SHA1 powinno być preferowaną opcją, szczególnie jeśli zależy Ci na repo, które nie jest pod Twoją kontrolą. Odgałęzienia i znaczniki Git nie są niezmienne (można je usunąć/zmienić, złośliwie/przez przypadek), podczas gdy (prawie) niemożliwe jest zderzenie sha1. –

+1

Czy mogę mieć oddział ORAZ zatwierdzić do zatwierdzenia? – munchschair

27

Jeśli chcesz użyć devel lub feature gałąź, lub nie zostały opublikowane pewien pakiet do rejestru NPM, albo nie można, bo to prywatna moduł, to można wskazać na git:// URI zamiast numeru wersji w swojej package.json:

"dependencies": { 
    "public": "git://github.com/user/repo.git#ref", 
    "private": "git+ssh://[email protected]:user/repo.git#ref" 
} 

TheCzęśćjest opcjonalna i może to być gałąź (na przykład master), znacznik (taki jak 0.0.1) lub częściowy lub pełny identyfikator zatwierdzenia.

10

W najnowszej wersji KMP można po prostu zrobić:

npm install gitAuthor/gitRepo#tag

Jeśli repo jest to prawidłowy pakiet NPM będzie auto-alias w package.json jak:

{ "NPMPackageName": "gitAuthor/gitRepo#tag" }

Jeśli możesz dodać to do odpowiedzi @justingon, teraz nie ma potrzeby ręcznego wygładzania!

+0

działa jak urok. –

+0

nie, nie jest. Instaluje się niepoprawnie. Jakoś nie obejmuje całej struktury katalogów z repozytorium, tylko niektóre pliki, takie jak package.json, yarn.lock, readme i licencja. Nie ma folderów src ani dist. – StalkAlex

+0

@StalkAlex https://docs.npmjs.com/cli/publish, a następnie sprawdź repoinstalację, którą instalujesz dla skryptów kompilacji. Być może są one oznaczone tagami lub post-install nie działa dla Ciebie, jest to problem dla tego konkretnego pakietu i tak mam nadzieję, że to pomaga! – vortex

Powiązane problemy