2013-08-13 15 views
6

Przeszukałem ten temat przez długi czas, obecnie wszystkie rozwiązania i przykłady działają w git, ale nie ma bezpośredniego rozwiązania dla Mercurial.Adres URL pakietu NPM jako zależność w mercurial (bitbucket)

Przykład roboczy zaczerpnięty z podobnych linków.

"private": true 
to your package.json 

Then to reference private npm module in package.json 

{ 
    "name": "myapp", 
    "dependencies": { 
     "private-repo": "git+ssh://[email protected]:myaccount/myprivate.git#v1.0.0", 
    } 
} 

Jak czytam z oficjalnej strony npm to wszystko działa tylko z git https://npmjs.org/doc/json.html#Git-URLs-as-Dependencies

Więc jak to zrobić to samo w Mercurial lub obecnie to wydaje się być możliwe tylko z Git?

+0

Na twoje pytanie nie ma rzeczywistego pytania. –

+0

Tak, mój błąd dodano ostatnią linię –

Odpowiedz

1

NPM obsługuje git, ale nie obsługuje Mercurial. Możesz użyć czegoś takiego jak Kiln do obsługi twojego repozytorium, które pozwala na dostęp jako albo Mercurial albo git, ale w przeciwnym razie będziesz musiał sklonować do lokalnego i wskazać NPM na tym.

9

Jeśli masz jest przy użyciu Bitbucket do obsługi Mercurial repo twojego projektu, zawiera linki do pobierania migawek projektu jako plik tar.gz. Te adresy URL: are actually usable w zależnościach .

Na przykład, mój pagedown projektu download page ma link do tego adresu URL dla zgzipowanego migawkę najnowszych zmian default Branża:

https://bitbucket.org/ncraike/pagedown/get/default.tar.gz 

więc w innym projektu package.json, mogę podać:

"dependencies": { 
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz" 
} 

npm obsługuje to dobrze, gdy robię npm install z zależnego pakietu, instalując go poprawnie do podkatalogu node_modules.

To nie jest ogólne rozwiązanie dla repozytoriów Mercurial (i zgadzam się, byłoby miło, gdyby npm również zaakceptowało Mercurial URLs), ale może to być rozsądnym rozwiązaniem, jeśli używasz Bitbucket lub podobnej strony do hostingu .

+1

Wygląda na to, że można go użyć do pobrania konkretnej wersji za pomocą następującej składni wraz z tagami wersji: https://bitbucket.org/USERNAME/MODULENAME/get/TAG.tar. gz Możesz znaleźć te adresy URL na stronie pobierania na karcie Tagi. – jdp

+0

Ah. Właściwie, tak, konkretne wersje będą prawdopodobnie preferowane, więc twoje zależności są stabilne i przetestowane i nie zmieniają się nieoczekiwanie (np. Gdy ktoś zobowiązuje się do domyślnego). –

+5

W przypadku prywatnych repozytoriów, w jaki sposób mogę podać dane uwierzytelniające bez umieszczania ich w package.json? – kierans

Powiązane problemy