Лучший путь как переустановить Node.Js (Mac/Linux/Windows)

Один из простейших путей как установить Node.Js это пойти на официальный сайт, скачать установочный файл и установить его. Позже разработчики столкнулись с ситуацией, когда им нужно сменить версию Node.js на другую или обновить текущую версию.
Это все еще возможно - установить другую версию с официального сайта, но как много нод уже установлено в системе?

Может быть это хорошее время для удаления их всех и настроить возможность системе переключаться между нодами за секунды, всегда зная количество установленных версий и иметь возможность удалить любые из них одной простой командой.

Как удалить Node.Js с Mac OS

Обо всем по порядку, мы должны удалить старые версии ноды и все связанное с этим. Вы счастливчик, если вы установили прошлые версии с помощью Homebrew. Метод Homebrew это один из простейших вариантов для установки и удаления ноды на маке.

brew uninstall --force node

Напишите эту команду в терминале. Brew удалит все установленные версии Node.Js

После этого, лучше всего, запустить brew cleanup, это удалит все неиспользуемые зависимости и папки.

brew cleanup

Если ваша Node.js была установлена по другому, это не проблема. Вы можете удалить вручную. Есть куча папок, они могут быть удалены одна за одной через файндер или терминал.

Список папок, где находятся Node.js и npm

  • node и/или node_modules в папке /usr/local/lib
  • node и/или node_modules в папке /usr/local/include
  • node, node-debug, и node-gyp в /usr/local/bin
  • .npmrc в вашей домашней директории (Это настройки npm, не удаляйте этот файл, если хотите далее переустановить Node.js)
  • .npm в вашей домашней директории
  • .node-gyp в вашей домашней директории
  • .node_repl_history в вашей домашней директории
  • node* в /usr/local/share/man/man1/
  • npm* в /usr/local/share/man/man1/
  • node.d в /usr/local/lib/dtrace/
  • node в /opt/local/bin/
  • node в /opt/local/include/
  • node_modules в /opt/local/lib/
  • node в /usr/local/share/doc/
  • node.stp в /usr/local/share/systemtap/tapset/

В случае, если вы не хотите вручную искать и удалять все эти папки и файлы, вы можете ввести одну простую команду в терминал:

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

Эта команда не трогает вашу домашнюю директорию, так что в дальнейшем вы можете сами решить, что делать с сохранившимися файлами.

Сейчас мы можем удалить все глобальные пакеты, установленные с npm

rm -rf ~/.npm

После всех этих команд, Node.js и npm будут полностью удалены с вашего компьютера.

Как установить Node.js на Mac OS

После очистки, мы можем продолжить с установкой новой версии Node.js. Но мы сделаем это не прямым путем. Потому что если мы сделаем это по обычному, мы все еще будем иметь ту же проблему с кучей версий в будущем.

Для решения этой проблемы, мы должны установить дополнительную маленький скрипт: NVM

У данного скрипта есть единственная зависимость - установленная Command Line Tools. Если у вас все еще это не установлено, вы должны запустит команду в терминале:

xcode-select --install

Итак, мы готовы установить NVM. Простейший путь это сделать - .sh скрипт.

Скачать и установить данный скрипт мы можем с помощью следующей команды:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

0.37.2 - последняя версия на день написания статьи. Версия может быть проверена на странице NVM в GitHub

Конечно, это может быть установлено вручную. Вы нужно склонировать репозиторий и добавить необходимы файлы в PATH. Детальная инструкция описана в NVM ReadMe. Это будет полезно если вам нужно использовать NVM в CI пайплайн. Я бы рекомендовал добавить NVM в Docker image, который использует ваш пайплайн.

Не забудьте перезапустить окно терминала для обновления переменных окружения

Мы почти закончили. Сейчас мы легко можем установить любую версию Node.js. Для примера, эта команда установит самую свежую версию:

nvm install node

Если вы хотите установит LTS версию, но с последней версией npm, сделайте следующее:

nvm install --lts --latest-npm

Используя флаги, вроде --lts вы можете использовать любую версию.

nvm install 8.9.1 # or 10.10.0, 12, etc

Для того, что бы увидеть список установленных версий, вам нужно запустить команду:

nvm list

После установки, вам нужно выбрать дефолтную версию для вашей системы:

nvm use --lts

Что о пользователях Windows?

Для windows доступен похожий скрипт: Node Version Manager (nvm) for Windows. Это другой проект, который делает то же самое. Вы так-же можете устанавливать/удалять/выводить список и переключать любые версии Node.js

Итоги

С NVM вы получаете:

  • Простую установку/удаление любой версии Node.js
  • Лучший скрипт для переключения между нодами.
  • Удаление такое же простое, как и установка

Вы почувствуете это в будущем, особенно, когда в следующий раз будете обновлять свою Node.js.

Спасибо за прочтение!

Переведено: Голдобин Антон

0
4 комментария
Антон Левин

По-моему, nvm это первое, что ставится перед установкой ноды)) Я лично с этого начал. А иначе это конечно сложно

Ответить
Развернуть ветку
Sergey Nosyrev

Вы наверное перепутали с habrhabr

Ответить
Развернуть ветку
someone
Ответить
Развернуть ветку
Denis Kiselev

Есть ещё n.

Ответить
Развернуть ветку
1 комментарий
Раскрывать всегда