2013-09-25 10 views
13

Niedawno zacząłem rozwijać dla węzła. Firma, w której pracuję, ma wewnętrzny rejestr npm. Chcę wiedzieć, jak korzystać z różnych ustawień rejestru w zależności od tego, gdzie się rozwijam. Aby zilustrować, mam strukturę katalogów jak pokazano poniżej:przełączanie rejestru npm na podstawie katalogu

~/Code 
| 
| -- My Projects 
| | 
| | -- Proj 1 
| | -- Proj 2 
| 
|-- My Company 
    | 
    |--Proj 1 
    |--Proj 2 

Kiedy Zajmuję się w jednym z projektów „Mój projekt” Chciałbym rejestru npm, aby wskazywał na https://registry.npmjs.org (rejestr domyślny). Ale kiedy rozwijam się w jednym z projektów w "Mojej firmie", chcę, aby rejestr npm wskazywał na rejestr firmy. Obecnie moją naiwną metodą jest użycie npm config set registry, aby zaktualizować rejestr.

Odpowiedz

15

Istnieją dwa przypadki użycia odrębne korzystania swój prywatny rejestr npm:

  1. Instalowanie: użyć --reg lub --registry flag

    npm install mypackage --reg http://myreg.npmjitsu.com 
    
  2. Publishing: możesz również użyj --reg lub --registry, ale zdecydowanie polecam korzystanie z publishConfig ustawienie w pliku package.json (Patrz: the npm documentation)

    { 
        "publishConfig": { 
        "registry": "http://myreg.npmjitsu.com" 
        } 
    } 
    

    Zapobiega to deweloperom z przypadkowo publikowania moduły prywatnych do rejestru publicznego przez zapominając --registry flagę

Więc dodać publishConfig wszystkim package.json dla Twojej firmy używać --registry podczas instalacji z ich prywatnego npm.

+0

dziękuję im myślenie, że to dobry projekt, aby flaga -reg na polecenia npm. Czy ta flaga działa również na innych komendach? jak npm search/npm update? – gprasant

+0

Co stanie się, gdy umieścisz swój pakiet prywatny w swoim pakiecie.json? –

2

Rejestr powinien być potrzebny tylko podczas instalacji pakietów. Możesz użyć tego, gdy chcesz zainstalować z prywatnego rejestru.

npm install packagename --registry https://myregistryurl 

ten może pracować zbyt ..

npm install https://myregistryurl/packagename 

i wystarczy zainstalować normalny sposób, gdy używasz rejestr publiczny.

Powiązane problemy