Węzeł zaktualizuje określony pakiet

187

Chcę zaktualizować synchronizację przeglądarki bez aktualizacji wszystkich pakietów węzłów . Jak mogę to osiągnąć? Moja bieżąca wersja przeglądarki synchronizacji nie ma interfejsu GUI przeglądarki: (

├─┬ browser-sync@1.9.2
 ├── browser-sync-client@1.0.2
Samuel
źródło
4
npm install browser-sync@latestmoże. powinien przesadzić z najnowszym (przypuszczalnie naprawiającym jakieś złamanie?)
Rlemon

Odpowiedzi:

290

Przez większość czasu możesz po prostu npm zaktualizować (lub uaktualnić przędzę ) moduł, aby uzyskać najnowsze niełamliwe zmiany (w odniesieniu do semver określonego w pakiecie.json) (<- ponownie przeczytaj tę ostatnią część).

npm update browser-sync
-------
yarn upgrade browser-sync
  • Użyj, npm|yarn outdatedaby zobaczyć, które moduły mają nowsze wersje
  • Użyj npm update|yarn upgrade(bez nazwy pakietu), aby zaktualizować wszystkie moduły
  • Uwzględnij, --save-dev|--devjeśli chcesz zapisać nowsze numery wersji w pliku package.json. (UWAGA: od wersji npm v5.0 jest to konieczne tylko dla devDependencies).

Najważniejsze aktualizacje wersji:

W twoim przypadku wygląda na to, że chcesz następnej głównej wersji (v2.xx), która prawdopodobnie będzie miała przełomowe zmiany i będziesz musiał zaktualizować aplikację, aby uwzględnić te zmiany. Możesz zainstalować / zapisać najnowsze 2.x.x, wykonując:

npm install browser-sync@2 --save-dev
-------
yarn add browser-sync@2 --dev

... lub najpóźniej 2.1.xwykonując:

npm install browser-sync@2.1 --save-dev
-------
yarn add browser-sync@2.1 --dev

... lub najnowsze i najlepsze , wykonując:

npm install browser-sync@latest --save-dev
-------
yarn add browser-sync@latest --dev

Uwaga: ostatni nie różni się od robienia tego:

npm uninstall browser-sync --save-dev
npm install browser-sync --save-dev
-------
yarn remove browser-sync --dev
yarn add browser-sync --dev

Ta --save-devczęść jest ważna. Spowoduje to odinstalowanie, usunięcie wartości z pliku package.json, a następnie przeinstalowanie najnowszej wersji i zapisanie nowej wartości w pliku package.json.

Ryan Wheale
źródło
1
npm update browser-sync --save-devdziałałoby również w celu aktualizacji do wersji głównej i zapisania pliku package-lock.json (jeśli oczywiście istnieje).
Wildhoney
5
@Wildhoney - z szacunkiem się z tobą nie zgadzam (głównie) - npm updatezainstaluję najnowszą wersję semver . Jedynym sposobem na aktualizację do następnej głównej wersji jest zrobienie tego jawnie, jak to opisano powyżej. Jeśli nigdy nie instalowałeś pakietu i próbujesz go zaktualizować / zapisać, zainstaluje on najnowszą wersję, ale nie jest to zbyt częste. Istnieje również rzadko używany semver do określania najnowszej wersji głównej - wyglądałoby to tak w pakiecie.json: browser-sync: '*'LUB browser-sync: 'x'- ale NIE polecam tego robić.
Ryan Wheale
1
@RyanWheale, zwróć uwagę, że ponieważ [email protected] --save-devnie jest potrzebny, ponieważ zostanie automatycznie zapisany do package.json ( docs.npmjs.com/cli/update )
lakesare 16'18
@ jeziora są w rzeczywistości na dzień [email protected] domyślną wartością jest --save, a nie --save-dev. Nadal musisz podać opcję --save-dev, jeśli chcesz utworzyć zależność tylko dla programistów.
Joshua Harris
2
npm install some-package @ latest - save-dev pracował dla mnie. Dzięki.
ashilon
3

Użyj, npm outdated aby zobaczyć aktualną i najnowszą wersję wszystkich pakietów.


Następnie, npm i packageName@versionNumberaby zainstalować określoną wersję: przykład npm i [email protected] .

Lub npm i packageName@latestzainstalować najnowszą wersję: przykład npm i browser-sync@latest .

Qui-Gon Jinn
źródło
-2

Zawsze możesz to zrobić ręcznie. Oto kroki:

  • Przejdź do strony pakietu NPM i wyszukaj link GitHub.
  • Teraz pobierz najnowszą wersję za pomocą łącza pobierania GitHub lub klonując. git clone github_url
  • Skopiuj paczkę do swojego node_modulesfolderu na przykładnode_modules/browser-sync

Teraz powinno działać dla Ciebie. Aby mieć pewność, że nie złamie się w przyszłości npm i, kontynuuj dwa kolejne kroki:

  • Sprawdź wersję nowego pakietu, czytając package.jsonplik w folderze.
  • Otwórz swój projekt package.jsoni ustaw tę samą wersję, w której ma się pojawić w dependenciesczęścipackage.json

Chociaż nie zaleca się robienia tego ręcznie. Czasami dobrze jest zrozumieć, jak działają rzeczy pod maską, aby móc to naprawić. Od czasu do czasu to robiłem.

Aminadav Glickshtein
źródło