Когда дело доходит до Linux
Я предлагаю Узел обновления с помощью диспетчера пакетов:
Node поставляется с предварительно установленным npm, но менеджер обновляется чаще, чем Node. Запустите npm -v, чтобы увидеть, какая у вас версия, затем npm install npm@latest -g
, чтобы установить новейшее обновление npm. Запустите npm -v
еще раз, если хотите убедиться, что npm обновлен правильно.
Чтобы обновить NodeJS
, вам понадобится удобный модуль npm. Запустите этот код, чтобы очистить кэш npm, установите n и установите последнюю стабильную версию Node
:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Чтобы установить последнюю версию, используйте n latest
. Кроме того, вы можете запустить n #. #. #, Чтобы получить конкретную Node
версию.
Когда дело доходит до Windows/ macOS
Я предлагаю использовать Установщики на Nodejs.org
Страница загрузок Node.js содержит бинарные пакеты для Windows и macOS - но зачем делать вашу жизнь сложнее? Готовые установщики - .msi для Windows и .pkg для macOS - делают процесс установки невероятно эффективным и понятным. Загрузите и запустите файл, и пусть мастер установки позаботится обо всем остальном. С каждым загруженным обновлением более новые версии Node и npm заменяют старую версию.
В качестве альтернативы пользователи macOS могут использовать приведенные выше инструкции npm и n.
Когда дело доходит до обновления папки node_modules
зависимостей, я предлагаю пропустить все вещи, которые могут вызвать у вас головную боль, и просто перейти к вашему конкретному проекту и снова запустить npm install
.
Прежде чем кто-либо сделает это, я советую сначала проверить ваш файл package.json
на следующее:
Как пользователь пакетов NodeJS, вы можете указать, какие обновления может принимать ваше приложение в файле package.json. Например, если вы начинали работу с версией пакета 1.0.4, вы можете указать допустимые диапазоны версий обновления тремя основными способами:
Разрешить Патч Релизы: 1.0 или 1.0.x или ~ 1.0.4
Разрешить Незначительные Выпуски: 1 или 1.x или ^ 1.0.4
Разрешить Major Выпуски: * или x
Пояснение:
MAJOR версия для случаев несовместимых изменений API. -> ~
MINOR версия для случая, когда функциональность добавлена в обратно совместимом виде. -> ^
PATCH версия для случаев, когда сделаны обратно совместимые исправления ошибок. -> *