- Управление версиями Node.js и NPM с помощью NVM
- Установка NVM
- Использование NVM
- Обновление NVM
- How to downgrade Node version
- 13 Answers 13
- Downgrade node.js — Windows
- 4 Answers 4
- Not the answer you’re looking for? Browse other questions tagged node.js or ask your own question.
- Related
- Hot Network Questions
- Subscribe to RSS
- Лучший путь как переустановить Node.Js (Mac/Linux/Windows)
- How to change to an older version of Node.js
- 16 Answers 16
- *NIX (Linux, OS X, . )
- Windows
- Ubuntu — The Official Way (manually) 😵
- Windows — The Official Way (manually) 😵
- Chocolatey — The Package Manager Way 🎉
- With package.json — The Maintainable and Portable Way 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
- Lets each project specify its own version
- Node Version Manager — The «Screw it, I’ll do it myself!» Way 😢😢😢😭😭😭😭😭
Управление версиями Node.js и NPM с помощью NVM
Наш прошлый перевод про новые функции 15-й версии Node.js был очень хорошо принят читателями «Хабра», поэтому сегодня мы решили продолжить тему и рассказать, как настроить NVM с версией Node.js 15 и NPM 7.
Версия Node.js 15 была выпущена 20 октября 2020 года. Она поставляется с npm 7 и множеством новых функций. Вы уже успели опробовать новую версию?
Но подождите минутку! Node.js 15 и npm 7 содержат критические изменения. Не повредит ли тогда обновление существующим проектам?
Теоретически может повредить!
К счастью, у нас есть NVM (Node Version Manager), который избавит нас от этой опасности. Давайте детально рассмотрим данный инструмент, чтобы без проблем обновить версии node.js и npm.
Установка NVM
nvm управляет версиями node.js и npm. Он устанавливается для конкретного пользователя и может быть вызван отдельно для каждой оболочки. nvm работает с любой POSIX-совместимой оболочкой (sh, dash, ksh, zsh, bash), в том числе на платформах: unix, macOS и windows WSL.
nvm можно установить с помощью команд curl или wget:
Скрипт install.sh клонирует репозиторий nvm в
/.nvm и пытается добавить исходные строки из приведенного ниже фрагмента в нужный файл профиля (
/.bash_profile мы видим, что строки добавлены:
Использование NVM
Итак, мы установили nvm. Теперь используем данную команду для установки последней версии node.js:
В выходных данных из примера выше указано, что npm 7.0.15 используется вместе с node.js 15.4.0 . Проверим:
Также мы можем указать нужную версию для установки. Семантический формат версии определяется SemVer:
Если указанная версия уже была установлена, она не переустанавливается:
Мы можем вывести на экран все установленные версии:
В приведенных выше примерах вывода символ -> указывает, что текущая версия node.js — 10.14.0 . Стрелка также представляет значения для default ( 12.16.0 ), node ( 15.4.0 ) и stable ( 15.4.0 ).
nvm use заменяет текущую версию:
Возможно, вы спросите, как так получилось, что v10.16.0 использует более позднюю версию npm, чем v13.9.0 . Эту задачу можно решить с помощью следующих команд:
Данная команда позволяет получить последнюю поддерживаемую версию npm для текущей версии Node.js:
nvm use устанавливает нужную версию только для текущей оболочки. Если вы измените оболочку, только что обновленная версия node.js будет потеряна.
Как сделать определенную версию Node.js постоянной?
Версия по умолчанию — такая версия, которая распространяется на все оболочки.
Команда nvm alias позволяет установить версию по умолчанию.
Для удобства можно создать файл .nvmrc , который принимает формат SemVer, node или default . После этого nvm use , nvm install , nvm exec , nvm run и nvm which будут использовать версию, указанную в файле .nvmrc , если в командной строке не указана другая.
Мы можем проверить текущую версию с помощью следующей команды:
ls-remote выводит на экран все доступные версии, но будьте готовы к очень длинному списку.
Обратим внимание, что название версии в сокращенной форме значительно сокращает весь список.
nvm which указывает путь к исполняемому файлу, где nvm был установлен. Мы установили такие версии node.js, как 10.14.0 , 10.15.0 и 10.16.0 . Вот результаты nvm which :
Указанную версию Node.js можно использовать непосредственно для запуска приложений:
Как вариант, данная команда запускает node app.js с переменной PATH, указывающей на версию 10.15.0 .
Если вам нужно больше nvm-команд, запустите команду help :
Обновление NVM
Мы можем использовать nvm для обновления node.js и npm. Но как обновить сам nvm ?
Перед обновлением у нас установлен nvm 0.34.0 .
Обновляем до версии 0.37.2.
Как указано в выводе, нам нужно закрыть и снова открыть терминал, чтобы использовать новую версию:
По сравнению с версией 0.34.0 , в версии 0.37.2 добавлена функция nvm set-colors для вывода на консоль.
По умолчанию nvm ls показывает следующие цвета:
Установим новые цвета:
nvm ls отображает вывод с новыми цветами:
How to downgrade Node version
I want to downgrade my Node version from the latest to v6.10.3 .
But nothing worked so far. Tried NVM and it gives an error as well by saying make command is not found. How can I downgrade Node?
13 Answers 13
You can use n for node’s version management. There is a simple intro for n .
this is very easy to use.
then you can show your node version:
For windows nvm is a well-received tool.
Go to Control panel> program and features>Node.js then uninstall
Go to website: https://nodejs.org/en/ and download the version and install.
Determining your Node version
Ensure that you have n installed
Upgrading to the latest stable version
Changing to a specific version
Answer inspired by this article.
- Uninstalling the node from the «Add or remove programs»
- Installing the required version from https://nodejs.org/en/
If you are on macOS and are not using NVM, the simplest way is to run the installer that comes from node.js web site. It it clever enough to manage substitution of your current installation with the new one, even if it is an older one. At least this worked for me.
This may be due to version incompatibility between your code and the version you have installed.
In my case I was using v8.12.0 for development (locally) and installed latest version v13.7.0 on the server.
So using nvm I switched the node version to v8.12.0 with the below command:
NOTE: You need to install nvm on your system to use nvm.
You should try this solution before trying solutions like installing build-essentials or uninstalling the current node version because you could switch between versions easily than reverting all the installations/uninstallations that you’ve done.
Downgrade node.js — Windows
Is it even possible to manage node.js in windows? I can see examples for unix but not for Windows. I found nodist but it looks old. Hints?
4 Answers 4
Check out this project:
It’s Node version manager for Windows.
See also this tutorial:
you can just uninstall the node from control panel and install the required node version from the node official site
I dowloaded msi file and it works great.
Hi you can downgrade using this command. npm install -g node@version
let’s assume you want to downgrade v8.11.3, the command would be npm install -g node@8.11.3
Don’t forget to restart your pc after using nvm for downgrade.
Not the answer you’re looking for? Browse other questions tagged node.js or ask your own question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Лучший путь как переустановить 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 вы можете использовать любую версию.
Для того, что бы увидеть список установленных версий, вам нужно запустить команду:
После установки, вам нужно выбрать дефолтную версию для вашей системы:
How to change to an older version of Node.js
I am running Node.js version v0.5.9-pre on Ubuntu 10.10.
I would like to be using version v0.5.0-pre .
How do I roll back to the older version of node?
16 Answers 16
One way is to use NVM, the Node Version Manager.
Use following command to get nvm
It allows you to easily install and manage multiple versions of node. Here’s a snippet from the help:
/.nvm/nvm.sh I always add this line to my
/.profile file to have it automatically sources upon login. Often I also put in a line to use a specific version of node.» – David EGP Oct 12 ’11 at 12:44
*NIX (Linux, OS X, . )
Use n, an extremely simple Node version manager that can be installed via npm.
Say you want Node.js v0.10.x to build Atom.
Windows
Use nvm-windows, it’s like nvm but for Windows. Download and run the installer, then:
Update: December 2020 — I have updated the answer because previous one was not relevant.
Follow below steps to update your node version.
1. Install nvm For this run below command in your terminal
2. Install specific node version using nvm
Replace 12.14.1 with your node version
Note: If you are getting error of NVM not recognised then run below command and then run above again
3. Make the installed version default
Note: Replace 12.14.1 with your installed version.
4. Check node version
And that’s it. Cheers!
Why use any extension when you can do this without extension 🙂
Install specific version of node
Specific version : sudo n 4.4.4 instead of sudo n stable
Ubuntu — The Official Way (manually) 😵
If you’re on node 12 and want to downgrade to node 10, just remove node and follow the instructions for the desired version:
Windows — The Official Way (manually) 😵
I found myself wanting to downgrade to LTS on Windows from the bleeding edge. If you’re not using a package manager like Chocolatey or a node version manager like nvm or n, just download the .msi for the version you want and install it. You might want to remove the currently installed version via «Add or remove programs» tool in Windows.
Chocolatey — The Package Manager Way 🎉
I highly recommend chocolatey for keeping installations up to date easily and it is a common way to install Node.js on Windows. I had to remove the bleeding edge version before installing the LTS version:
With package.json — The Maintainable and Portable Way 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
Lets each project specify its own version
You can add node as a dependency in package.json and control which version is used for a particular project. Upon executing a package.json «script», npm (and yarn ) will use that version to run the script instead of the globally installed Node.js.
The node package accomplishes this by downloading a node binary for your local system and puts it into the node_modules/.bin directory.
Node Version Manager — The «Screw it, I’ll do it myself!» Way 😢😢😢😭😭😭😭😭
While not very portable or easily maintainable, some developers like manually switching which global version of node is active at any given point in time and think the official ways of doing this are too slow. There are two popular npm packages that provide helpful CLI interfaces for selecting (and automatically installing) whichever version you want for your system: nvm and n . Using either is beyond the scope of this answer.