Powiedzmy, że rozwidliłem moduł węzła z poprawką błędu i chcę używać mojej stałej wersji, oczywiście w gałęzi funkcji, dopóki poprawka nie zostanie scalona i wydana.
Jak mam odwoływać się do mojej stałej wersji w dependencies
mojej package.json
?
Powiedzmy, że rozwidliłem moduł węzła z poprawką błędu i chcę używać mojej stałej wersji, oczywiście w gałęzi funkcji, dopóki poprawka nie zostanie scalona i wydana.
Jak mam odwoływać się do mojej stałej wersji w dependencies
mojej package.json
?
Z dokumentów npm :
git://github.com/<user>/<project>.git#<branch>
git://github.com/<user>/<project>.git#feature\/<branch>
Począwszy od wersji NP. 1.1.65, możesz to zrobić:
<user>/<project>#<branch>
user/project
. npmjs.org/doc/files/package.json.html Możesz dołączyć gałąź jakuser/project#branch
git://github.com/<user>/<project>.git#feature/blah
działało, ale<user>/<project>.git#feature/blah
nie ... być może ich regex musi być bardziej zaawansowany, aby wziąćfeature/blah
pod uwagę. To był npmv1.4.28
na komentarz @ dantheta:
Więc
Lub dla tagu v1.12.0 na jscs:
Uwaga: jeśli użyjesz npm --save, dostaniesz dłuższy git
Od https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
źródło
Jeśli chcesz użyć
devel
lubfeature
rozgałęzić się lub nie opublikowałeś określonego pakietu w rejestrze NPM, lub nie możesz, ponieważ jest to moduł prywatny, możesz wskazaćgit://
URI zamiast numeru wersji wpackage.json
:#ref
Część jest opcjonalna i może być gałąź (npmaster
) znacznik (np0.0.1
) lub częściowe lub pełne popełnienia ID.źródło
W najnowszej wersji NPM możesz po prostu:
npm install gitAuthor/gitRepo#tag
Jeśli repozytorium jest poprawnym pakietem NPM, zostanie automatycznie aliowane w pliku package.json jako:
{ "NPMPackageName": "gitAuthor/gitRepo#tag" }
Jeśli możesz dodać to do odpowiedzi @justingordon, nie ma teraz potrzeby ręcznego aliasingu!
źródło
Jeśli to pomaga komukolwiek, próbowałem wszystkiego powyżej (tryb https w / token) - i nadal nic nie działało. Nie otrzymałem żadnych błędów, ale nic nie zostanie zainstalowane w node_modules lub package_lock.json. Gdybym zmienił token lub dowolną literę w nazwie repozytorium lub nazwie użytkownika itp. - Wystąpiłby błąd. Wiedziałem, że mam odpowiedni token i nazwę repozytorium.
W końcu zdałem sobie sprawę, że to dlatego, że nazwa zależności, którą miałem w pakiecie.json, nie zgadzała się z nazwą w pakiecie.json repozytorium, które próbowałem pobrać. Nawet instalacja npm --verbose nie mówi, że jest jakiś problem. Po prostu wydaje się ignorować błąd bez zależności.
źródło