- UA Blog
- Blog on instersting topics
- Туториал по Node Version Manager (NVM)
- Что такое Node.js?
- Обновления версий Node.js
- Что такое Node Version Manager (NVM)?
- Какие операционные системы поддерживает Node Version Manager ?
- Установка NVM на OS X и Linux
- Установка NVM на Windows
- Как использовать NVM
- Установка разных версий Node.js
- Глобальные npm пакеты
- Алиасы
- Переключения между версиями Node.js
- Дополнительные команды
- Преимущества использования Node Version Manager
- Заключение
- Как перейти на более старую версию Node.js
- * NIX (Linux, OS X, . )
- Windows
- Windows
- Понизить узел с Chocolately
- Понижение NPM
- Ubuntu — Официальный путь (вручную)
- Windows — Официальный путь (вручную)
- Chocolatey — способ управления пакетами
- С package.json — обслуживаемым и портативным способом
- Позволяет каждому проекту указывать свою версию
- Node Version Manager — «Винт это, я сделаю это сам!» Путь
- Лучший путь как переустановить Node.Js (Mac/Linux/Windows)
UA Blog
Blog on instersting topics
Туториал по Node Version Manager (NVM)
Если вы создаете Node.js приложения, вам могут понадобится разные версии Node.js. К счастью есть легкий способ для установки и управления любых версий на одной машине — и это Node Version Manager. В этой статье описаны все команды которые понадобятся вам для смены версии Node.js без лишних усилий.
Что такое Node.js?
Node.js это среда выполнения JavaScript с открытым исходным кодом, в основном используется для написания веб-серверов, сайтов или RESTful API. Его базовая функциональность поддерживается модулями которые базируются на API, спроектированом так что бы сделать написание серверных приложения легче. Node.js приложения можно запускать на разных платформах: Linux, macOS и Windows, а также они могут быть написаны на любом языке который компилируется в JavaScript, например таких как CoffeeScript, Dart и TypeScript.
Node.js похож на PHP, но существует несколько значительных различий . В PHP, функции блокирует поток выполнения пока не выполнятся, что означает что может выполнятся только одна команда подряд. В Node.js существует возможность выполнять операции IO, запросы в базу асинхронно.
Обновления версий Node.js
Новый релиз Node.js выполняется раз в полгода с master ветки в GitHub, примерно в Апреле и Октябре. Когда выходит новая версия с нечетным номером, самые новые версии с четными номерами стают long-term support (LTS). Версии до LTS получают активную поддержку на 18 месяцев, а потом ще 12 месяцев технической поддержки. В тоже время активные версии получают non-breaking бэкпорты с любыми изменениями реализованными в самой последней версии несколько недель после релиза.
Что такое Node Version Manager (NVM)?
Node Version Manager — єто утилита что позволяет без проблем переключаться между разными версиями Node. Вы можете установить любую версию одной командой и установить версию по умолчанию через интерфейс командной строки.
Какие операционные системы поддерживает Node Version Manager ?
NVM был первоначально разработанный для Linux и OS X, но также существует проект NVM Windows https://github.com/coreybutler/nvm-window. Хотя существуют незначительные отличия, базовые команды для установки, просмотра и переключения версий Node.js идентичны, кроме случаев описанных ниже.
Установка NVM на OS X и Linux
Сначала, удостоверьтесь в том что утилита совместима с вашей версией операционной системы. Также технически вам не нужно удалять уже установленый Node, но лучше сделать это, кроме того, нужно удалить любые прежнюю версию npm.
C++ компилятор необходим для поддержки версий предшествующий 0.8.6. Даже если вы обычно работаете только с LTS или более современными релизами, вы все де можете установить компилятор C++. Если вы у вас OS X, ваш лучший выбор это Xcode. Чтобы установить его выполните следующую команду:
Если вы используете Linux, выполните следующую команду, чтобы установить build-essential package вместе с Advanced Package Tool:
После этого, вы можете установить Node Version Manager используя cURL или Wget. Для cURL выполните следующую команду:
Для Wget выполните следующую команду:
Перед установкой узнайте последнюю достпную версия NVM https://github.com/creationix/nvm/releases. На данный момент последняя версия v0.33.11. команды выше клонируют репозиторий в
/.nvm и применят изменения для вашего bash профиля, так что вы сможете иметь доступ к Node Version Manager где-угодно в вашем терминале.
Установка NVM на Windows
Перед тем как вы начнете, удалите существующую версию Node.js, чтобы избежать потенциальных проблем во время установки. Дальше скачайте с Github nvm-setup.zip https://github.com/coreybutler/nvm-windows/releases Послее того как откорете его просто следуйте инструкциям для заверешнния установки.
Как использовать NVM
Есть несколько важных вещей которые нужно знать чтобы использовать NVM эффективно, ниже они будут описаны и будут приведены примеры как делать определенные задачи.
Установка разных версий Node.js
Менеджер версий делает установку разных версий Node.js очень простой с помощью одной команды. Просто запустите команду install и передайте ей параметром необходимую версию. Например, если вы хотите установить Node.js версии v6.5.0, выполните следующую команду:
Так как утилита следует SemVer, вы можете устанавливать патчи командой install с аргументом номера патча. Для получения списка доступных версий в Linux и OS X, выполните:
Если вы используете Windows, выполните следующую команду:
Если вам нужно удалить екземпляр Node, просто выполните nvm uninstall c нужным номером версии.
Глобальные npm пакеты
Стоит заметить то что глобально установленный npm пакеты не разделяются между разными версиями Node.js, потому что они могут причинить проблемы несовместимости. Поэтому, Node Version Manager одновременно устанавливает совместимую версию npm каждый раз когда вы устанавливаете какую то версию Node.js. Так как каждый экземпляр Node имеет собственную версию npm, вы можете запустить npm -v что-бы проверить какая версия сейчас используется. Также не нужно иметь sudo права при установке глобальных пакетов. Если вы хотите переустановить глобальные npm пакеты для определенной версии Node.js или при ее установке, сделайте так:
Команда выше устанавливает Node 6.5.0 и необходимую npm, потом переустанавливает все установленные пакеты в версии 4.2
Алиасы
Что облегчить процесс смены версий, NVM позволяет использовать псевдонимы для определения версий без указания номера. Примеры стандартных алиасов:
— node: устанавливает самую последнюю стабильную версию Node.js
— unstable: устанавливает самую последнюю стабильную версию Node.js
— iojs: устанавливает самую последнюю стабильную версию io.js
Для установки последней стабильной версии Node.js выполните следующую команду
Также существует алиас по умолчанию. Для установки версии по умолчанию используйте такую команду
Кроме того, вы можете создавать собственные алиасы:
Для удаления алиаса, выполните команду unalias:
Переключения между версиями Node.js
Каждый раз как вы устанавливаете новую версию Node.js, она будет автоматически выбираться для использования. Для переключения между версиями используется команда, nvm use которая работает почти также как и команда install. Например если вы хотите переключиться на последнюю стабильную версию, выполните команду
Для получения списка всех установленных версий Node, используется команда nvm ls:
Активная версия будет помечена зеленым цветом и стрелочкой, также текущую версию можно получить с помощью команды:
Дополнительные команды
— Существует несколько дополнительных команд, которые могут вам когда-нибудь понадобиться. Чтобы запустить команду для установленной версии без переключений переменных node, используйте такой формат
— чтобы задать определенную версию при запуске команда в саб-терминале, выполните такую команду
— если вы хотите узнать путь к исполняемым файлам Node.js для какой-то версии Node, используйте следующий формат
— Также вы можете назначить желаемую версию Node.js для ваших проектов, создав .nvmrc файлы в репозитории проектов. Существует плагин avn https://github.com/wbyoung/avn, который позволяет автоматичски переключпаться между версиями при смене директорий.
Преимущества использования Node Version Manager
Кроме экономии времени и усилий, возможность переключения между версиями Node имеет еще несколько значительных выгод. Например, например если вы хотите проверить работу некоторого пакета на определенной версии Node, или если вам нужно воспроизвести баг на нужной версии, NVM позволяет быстро переключиться и сделать отладку.
Заключение
Знание, как правильно использовать Node Version Manager, может помочь сохранить много времени, которое всегда ценно для разработчиков.
Источник
Как перейти на более старую версию Node.js
Я использую версию Node.js v0.5.9-pre в Ubuntu 10.10.
Я хотел бы использовать версию v0.5.0-pre .
Как мне откатиться на старую версию узла?
Одним из способов является использование NVM, Node Version Manager.
Используйте следующую команду, чтобы получить nvm
Позволяет легко устанавливать и управлять несколькими версиями узла. Вот фрагмент справки:
/ .Nvm / nvm.sh Я всегда добавляю эту строку в мой файл
/ .profile. чтобы он автоматически получал источники при входе в систему. Часто я также ставлю строку, чтобы использовать конкретную версию узла. «
* NIX (Linux, OS X, . )
Используйте n , чрезвычайно простой менеджер версий Node, который можно установить через npm.
Скажем, вы хотите, чтобы Node.js v0.10.x собирал Atom .
Windows
Используйте nvm-windows , это как nvm, но для Windows. Загрузите и запустите установщик , затем:
Зачем использовать любое расширение, если вы можете сделать это без расширения 🙂
Установить конкретную версию узла
Конкретная версия: sudo n 4.4.4 вместо sudo n stable
Окна:
Понизить рейтинг вашего узла.
Чтобы понизить ваш нпм.
Обратите внимание, закройте все ваши окна, где работает узел. Браузер, редактор и т. Д.
Вам необходимо сначала установить узел. И если вы уже установили, вы можете понизить версию узла и npm, просто запустив вышеуказанные команды. Если вам все же не повезло и не удалось обновить узел. Попробуй это. Попробуйте установить узел по всему миру. например:
Здесь также стоит попробовать обновить npm, если вы ищете последнюю версию npm. Запустить
MAC
Примечание: для Mac эти же команды должны работать. Надеюсь, это решит.
Windows
Понизить узел с Chocolately
Понижение NPM
самый простой способ, который я нашел, это просто использовать сайт nodejs.org :
- перейдите на https://nodejs.org/en/download/releases/
- найдите нужную версию и нажмите «скачать»
- на Mac нажмите исполняемый файл .pkg и следуйте инструкциям по установке (не уверен, какой правильный исполняемый файл для Windows)
- будьте счастливы теперь, когда вы находитесь на версии узла, который вы хотели
nvmw больше не поддерживается, но я нашел другой источник, который, кажется, обновлен (по состоянию на 1/4/17).
Оно работает. Позволил мне понизить до 6.3.1
Ubuntu — Официальный путь (вручную)
Если вы находитесь на узле 12 и хотите перейти на узел 10, просто удалите узел и следуйте инструкциям для нужной версии:
Windows — Официальный путь (вручную)
Я поймал себя на том, что хотел бы перейти на LTS на Windows с самого передового края. Если вы не используете менеджер пакетов, например Chocolatey, или менеджер версий узлов, например, nvm или n, просто скачайте нужную .msi версию и установите ее. Вы можете удалить установленную версию с помощью инструмента «Установка и удаление программ» в Windows.
Chocolatey — способ управления пакетами
Я настоятельно рекомендую chocolatey для простого обновления установок, и это распространенный способ установки Node.js в Windows. Перед установкой LTS-версии мне пришлось удалить версию с передовыми возможностями:
С package.json — обслуживаемым и портативным способом
Позволяет каждому проекту указывать свою версию
Вы можете добавить node в качестве зависимости package.json и контролировать, какая версия используется для конкретного проекта. После выполнения package.json «скрипта» npm (и yarn ) будет использовать эту версию для запуска скрипта вместо глобально установленного Node.js.
node Пакет решает эту задачу путем загрузки node бинарного файла в локальной системе и помещает его в node_modules/.bin каталог.
Node Version Manager — «Винт это, я сделаю это сам!» Путь
Несмотря на то, что некоторые разработчики не очень портативны или их легко обслуживать, им нравится переключать вручную, какая глобальная версия узла активна в любой момент времени, и считают, что официальные способы сделать это слишком медленны. Существует два популярных пакета npm, которые предоставляют полезные интерфейсы CLI для выбора (и автоматической установки) той версии, которая вам нужна для вашей системы: nvm и n . Использование любого из них выходит за рамки этого ответа.
Источник
Лучший путь как переустановить Node.Js (Mac/Linux/Windows)
Один из простейших путей как установить Node.Js это пойти на официальный сайт, скачать установочный файл и установить его. Позже разработчики столкнулись с ситуацией, когда им нужно сменить версию Node.js на другую или обновить текущую версию.
Это все еще возможно — установить другую версию с официального сайта, но как много нод уже установлено в системе?
Может быть это хорошее время для удаления их всех и настроить возможность системе переключаться между нодами за секунды, всегда зная количество установленных версий и иметь возможность удалить любые из них одной простой командой.
Обо всем по порядку, мы должны удалить старые версии ноды и все связанное с этим. Вы счастливчик, если вы установили прошлые версии с помощью Homebrew. Метод Homebrew это один из простейших вариантов для установки и удаления ноды на маке.
Напишите эту команду в терминале. Brew удалит все установленные версии Node.Js
После этого, лучше всего, запустить 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/
В случае, если вы не хотите вручную искать и удалять все эти папки и файлы, вы можете ввести одну простую команду в терминал:
Эта команда не трогает вашу домашнюю директорию, так что в дальнейшем вы можете сами решить, что делать с сохранившимися файлами.
Сейчас мы можем удалить все глобальные пакеты, установленные с npm
После всех этих команд, Node.js и npm будут полностью удалены с вашего компьютера.
После очистки, мы можем продолжить с установкой новой версии Node.js. Но мы сделаем это не прямым путем. Потому что если мы сделаем это по обычному, мы все еще будем иметь ту же проблему с кучей версий в будущем.
Для решения этой проблемы, мы должны установить дополнительную маленький скрипт: NVM
У данного скрипта есть единственная зависимость — установленная Command Line Tools. Если у вас все еще это не установлено, вы должны запустит команду в терминале:
Итак, мы готовы установить NVM. Простейший путь это сделать — .sh скрипт.
Скачать и установить данный скрипт мы можем с помощью следующей команды:
0.37.2 — последняя версия на день написания статьи. Версия может быть проверена на странице NVM в GitHub
Конечно, это может быть установлено вручную. Вы нужно склонировать репозиторий и добавить необходимы файлы в PATH. Детальная инструкция описана в NVM ReadMe. Это будет полезно если вам нужно использовать NVM в CI пайплайн. Я бы рекомендовал добавить NVM в Docker image, который использует ваш пайплайн.
Не забудьте перезапустить окно терминала для обновления переменных окружения
Мы почти закончили. Сейчас мы легко можем установить любую версию Node.js. Для примера, эта команда установит самую свежую версию:
Если вы хотите установит LTS версию, но с последней версией npm, сделайте следующее:
Используя флаги, вроде —lts вы можете использовать любую версию.
Для того, что бы увидеть список установленных версий, вам нужно запустить команду:
После установки, вам нужно выбрать дефолтную версию для вашей системы:
Источник