2016-10-18 10 views
6

Czy istnieje sposób config KMP nie zainstalować pakiet za pomocą lazy wersji jak:Jak zmusić npm do zainstalowania domyślnej wersji pakietu?

"coffee-script": "^1.11.1", 

Ale

"coffee-script": "1.11.1", 

I mają takie zachowanie staje się jedną domyślną? Zwykle nie chcemy używać leniwych wersji, wolę ręcznie uaktualniać wszystko do najnowszej wersji, niż mieć błąd zgłaszany mi na twarzy po nowym wdrożeniu z powodu błędu w jednej z moich zależności.

Jedynym sposobem na "zrobienie tego" jest ręczne usunięcie znaku ^ za każdym razem po każdym npm install, co jest nieco nudne.

Odpowiedz

4

Jest to komenda, która będzie ustawić zmienną użytkownika w konfiguracji npm do zawsze domyślnie używać dokładnie wersję przy wykonywaniu instalacji npm wszystkich pakietów.

Wpisz polecenie w terminalu:

npm config set save-exact=true 

Nowa preferencja jest przechowywany w pliku konfiguracyjnym użytkownika oparty zwyczaj npm. Znajduje się tutaj:

~/.npmrc 

Wreszcie, można sprawdzić ustawienie zostało zapisane za pomocą polecenia:

npm config ls 

Dziennik KMP docs tutaj:

https://docs.npmjs.com/misc/config

https://docs.npmjs.com/files/npmrc

0

Proponuję użyć npm shrinkwrap. Spowoduje to utworzenie npm-shrinkwrap.json, który określa aktualnie używane wersje twoich zależności, a następnie zainstaluje je na przykład.

Następnie, jeśli chcesz uaktualnić wszystkie zależności, usuń plik npm-shrinkwrap.json, uruchom npm install i ponownie uruchom npm shrinkwrap. Lub, aby zaktualizować zależność jednego pakietu, uruchom npm install --save <package-name>. Spowoduje to aktualizację pliku npm-shrinkwrap o zaktualizowaną wersję.

Patrz: https://docs.npmjs.com/cli/shrinkwrap

+0

Interesujące, ale tak naprawdę nie odpowiada na pytanie. Nie pomaga w instalacji 'npm install' i dodaje nowy przepływ pracy zależności i wdrażania. Sądzę, że jest to przydatne głównie w bardzo krytycznych systemach. Z mojej strony, zapewnienie wersji własnych zależności jest na razie wystarczająco dobre. :) Ale zdecydowanie interesujące! – Vadorequest

+0

To blokuje twoje zależności i jest używane specjalnie przy instalacji npm. Nie dodaje żadnych nowych zależności; funkcjonalność jest zawarta w pakiecie npm. Nie wiem o krytyczności, ale dobrze rozrysowuję te mapy do twojego przypadku użycia i jest łatwy w użyciu. – teroi

Powiązane problemy