2016-07-25 7 views
11

Próbuję zainstalować serwer kontynuacji integracji. Ten serwer pobierze dane z GIT i spróbuje zbudować aplikację. Ponieważ używam serwera Windows 2012, wielu użytkowników może uruchomić kompilację. W tym celu chcę się upewnić, że wszystkie pakiety węzłów, które instaluję jako administrator, są dostępne dla wszystkich użytkowników.Udostępnianie globalnych pakietów NPM wszystkim użytkownikom w systemie Windows 2012 Server

Jak mogę:

  1. zainstalować pakiety węzłów globalnie, które są dostępne dla wszystkich użytkowników.
  2. Chcę użyć lokalnego hostowanego rejestru węzłów. Nie chcę używać rejestru węzłów.
  3. Po zainstalowaniu pakietów, w jaki sposób mogę sprawdzić, czy wszyscy użytkownicy mają dostęp do pakietów?

Odpowiedz

18

Miał ten sam problem. Potrzebował agenta kompilacji CI do uruchomienia pakietu globalnego w interfejsie CLI. Piła this post w nowym żądaniu funkcji dla całego systemu npm -g dla systemu Windows.

W skrócie:

  1. Otwórz Polecenie poziom administrator szybka
  2. Uwaga obecny globalny prefiks: npm prefix -g
  3. Ustaw globalnego prefiksu dla użytkownika CI: npm config set prefix <C:\Users\CI_USER\AppData\Roaming\npm>
  4. zainstalować potrzebne pakiety: npm i -g PKG
  5. Przywróć prefiks do poprzedniej wartości.
+2

Co jeśli mój CI Środek build działa pod nazwą użytkownika 'Network Service'? Gdzie powinienem ustawić prefiks? – Sundeep

+0

+1 Chętnie uściskam twój mózg. :) Rozwiązałem problem na dużą skalę, a do mojej wiedzy dodałem coś, o czym nie wiedziałem. – Rikki

8

Dla konta 'Usługa sieciowa' użyć folder:

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm 
+1

Zastanawiasz się, czy istnieje zmienna systemowa dla tej lokalizacji? (jak% appdata%?) – Rikki

Powiązane problemy