Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator .npmrc

Spójna konfiguracja npm w projekcie

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Preset
Ustaw opcje i wygeneruj plik .npmrc.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator pliku .npmrc

Plik .npmrc w katalogu projektu ustawia zachowanie npm dla wszystkich osób pracujących z repozytorium — bez konieczności ręcznej konfiguracji.

Najważniejsze opcje

OpcjaZnaczenie
registryadres rejestru pakietów
save-exactzapis dokładnych wersji bez ^ i ~
engine-strictwymusza zgodność wersji Node z engines
auditsprawdzanie podatności przy instalacji
package-lockużywa i tworzy plik blokady
legacy-peer-depsignoruje konflikty peer dependencies

Przykład

Ustawienie save-exact=true sprawia, że npm install lodash zapisze dokładną wersję zamiast zakresu. Dzięki temu różne środowiska instalują identyczne wersje pakietów.

Prywatne rejestru

Dla prywatnego rejestru (np. Nexus, Artifactory) ustaw registry na jego adres. Token autoryzacyjny dodawaj przez //registry/:_authToken=..., ale trzymaj go poza repozytorium.

Jak działa generator .npmrc i skąd npm bierze konfigurację

Plik .npmrc to zwykły plik tekstowy, w którym każda linia ma postać klucz=wartość. npm odczytuje go przy każdym wywołaniu komendy — nie tylko podczas instalacji. Generator tworzy taki plik na podstawie wybranych opcji, ale nie modyfikuje istniejącej konfiguracji w systemie. Oznacza to, że nowe ustawienia zaczną obowiązywać natychmiast po zapisaniu pliku w katalogu projektu, bez potrzeby ponownego uruchamiania terminala.

npm przeszukuje kilka lokalizacji w określonej kolejności: najpierw flagi wiersza poleceń, potem zmienne środowiskowe, następnie projektowy .npmrc, dalej .npmrc użytkownika w katalogu domowym, a na końcu globalny plik konfiguracyjny npm. W przypadku konfliktu wygrywa źródło o wyższym priorytecie. Generator przygotowuje zawartość dla pliku projektowego, który nadpisuje ustawienia użytkownika i globalne, ale ustępuje miejscom flagom i zmiennym środowiskowym.

Warto pamiętać, że część opcji działa tylko w momencie instalacji nowych pakietów, a inne wpływają na każdą operację. Na przykład save-exact zmienia sposób zapisu wersji w package.json, a registry przekierowuje cały ruch do wskazanego serwera. Narzędzie nie waliduje poprawności wartości — jeśli wpiszesz błędny adres rejestru, npm zgłosi błąd dopiero przy próbie pobrania pakietu.

Przykład krok po kroku: wymuszenie dokładnych wersji

  1. Zakładasz nowy projekt i chcesz, aby wersje pakietów były zapisywane bez zakresów. Tworzysz plik package.json poleceniem npm init -y.
  2. Bez pliku .npmrc uruchamiasz npm install [email protected]. W package.json pojawia się zapis "example-package": "^1.0.0".
  3. Generujesz plik .npmrc za pomocą tego narzędzia, zaznaczając opcję save-exact=true.
  4. Usuwasz katalog node_modules i wpis z package.json, a następnie ponownie uruchamiasz npm install [email protected].
  5. Tym razem w package.json zapisuje się "example-package": "1.0.0" — bez znaku ^. Gdy w rejestrze pojawi się wersja 1.0.1, kolejne npm install nie zaktualizuje pakietu, ponieważ wymagana jest dokładnie wersja 1.0.0. Wynik: instalacja zawsze odtwarza identyczny zestaw wersji, co eliminuje różnice między środowiskami.

Priorytet źródeł konfiguracji npm

Źródło konfiguracjiPriorytetKiedy stosowane
Flagi wiersza poleceń1 (najwyższy)Nadpisuje wszystkie pliki i zmienne, np. --registry=...
Zmienne środowiskowe2Nadpisują pliki .npmrc, np. NPM_CONFIG_REGISTRY
Projektowy .npmrc3W katalogu projektu, wersjonowany w repozytorium
Użytkownika .npmrc4W katalogu domowym użytkownika, prywatny
Globalny .npmrc5W katalogu instalacji npm, ustawienia systemowe
Wbudowana konfiguracja npm6 (najniższy)Domyślne wartości, używane gdy brak innych ustawień

Praktyczne wskazówki przy konfiguracji .npmrc

  • Trzymaj projektowy .npmrc w repozytorium — dzięki temu cały zespół używa tych samych ustawień rejestru i formatu zapisu wersji. Pamiętaj jednak, aby nie umieszczać w nim tokenów ani innych sekretów.
  • Używaj zmiennych środowiskowych dla poufnych danych — zamiast wpisywać token na sztywno, odwołaj się do ${NPM_TOKEN}, który ustawiasz w systemie CI lub lokalnie w powłoce. Plik .npmrc może wtedy bezpiecznie trafić do repozytorium.
  • Sprawdzaj aktywną konfigurację poleceniem npm config list — pokazuje ono wszystkie aktywne ustawienia oraz źródło ich pochodzenia. To najszybszy sposób, aby upewnić się, że projektowy plik jest rzeczywiście czytany.
  • Dla pakietów scoped ustaw osobny rejestr — wpis @twoja-firma:registry=https://... przekierowuje tylko pakiety z danym zakresem, nie zmieniając globalnego registry dla całego projektu. To przydatne, gdy część zależności pochodzi z publicznego npm, a część z wewnętrznego serwera.
  • Testuj zmiany na kopii projektu — błędny wpis w .npmrc może uniemożliwić instalację wszystkich pakietów. Zanim zatwierdzisz zmiany w repozytorium, sprawdź, czy npm install nadal działa poprawnie.

Czego narzędzie nie uwzględnia

  • Brak walidacji adresu registry — generator nie sprawdza, czy podany URL jest poprawny, osiągalny ani czy wymaga uwierzytelnienia. Literówka w adresie ujawni się dopiero podczas instalacji pakietu.
  • Nie scala z istniejącym .npmrc — narzędzie tworzy nowy plik od zera. Jeśli w projekcie lub katalogu domowym masz już własne ustawienia, musisz ręcznie połączyć je z wygenerowaną zawartością.
  • Nie obsługuje zaawansowanego uwierzytelniania — tokeny OAuth, certyfikaty klienta czy konfiguracja proxy dla wielu rejestrów wymagają ręcznej edycji pliku. Generator ogranicza się do podstawowych opcji tekstowych.
  • Nie uwzględnia innych menedżerów pakietów — yarn i pnpm mają własne pliki konfiguracyjne (np. .yarnrc.yml) i część opcji z .npmrc może nie być przez nie respektowana. Wynikowy plik jest przeznaczony wyłącznie dla npm.

Najczęstsze pytania

Gdzie znajduje się .npmrc?

Może być w katalogu głównym projektu (wersjonowany), w katalogu domowym użytkownika (prywatny) lub w katalogu npm. Projektowy nadpisuje pozostałe.

Czy legacy-peer-deps to dobry pomysł?

To obejście konfliktów zależności. Stosuj tylko tymczasowo — docelowo warto rozwiązać konflikt wersji pakietów.

Jak ukryć token?

Użyj zmiennej środowiskowej ${NPM_TOKEN} zamiast zapisywać token w pliku. Plik z tokenem dodaj do .gitignore.

Czy projektowy .npmrc nadpisuje ustawienia użytkownika?

Tak, konfiguracja z katalogu projektu ma wyższy priorytet niż ta z katalogu domowego. npm scala ustawienia z różnych źródeł, ale w przypadku konfliktu wygrywa projektowy .npmrc.

Jak ustawić osobny rejestr dla pakietów scoped?

W pliku .npmrc dodaj wpis @twoj-zakres:registry=https://adres-rejestru. Taki pakiet będzie pobierany z podanego serwera, a pozostałe z domyślnego registry.

Czy .npmrc działa z yarn?

Yarn w wersji 1 częściowo czyta .npmrc, ale nowsze wersje (Yarn 2 i nowsze) korzystają z własnego pliku .yarnrc.yml. Część opcji może nie być respektowana, dlatego konfigurację warto dostosować do używanego menedżera.

Jak sprawdzić, który plik .npmrc jest aktualnie używany?

Użyj polecenia npm config list --long lub npm config get registry. npm pokazuje aktywne wartości oraz źródło, z którego zostały wczytane, co pozwala zdiagnozować ewentualne konflikty.

Czy mogę mieć wiele rejestrów w jednym .npmrc?

Tak, dla różnych zakresów (scope) możesz ustawić różne adresy registry. Dla pakietów bez zakresu obowiązuje ustawienie globalne registry, które możesz zmienić lub pozostawić domyślne.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!