Как перейти на более старую версию Node.js


429

Я использую версию Node.js v0.5.9-preв Ubuntu 10.10.

Я хотел бы использовать версию v0.5.0-pre.

Как мне откатиться на старую версию узла?


Я понимаю, что это старый вопрос, но если кто-то использует homebrew , проверьте этот вопрос: stackoverflow.com/questions/3987683/…
blong

Если вы хотите просто протестировать свой пакет в более старой версии, стоит упомянуть nodeпакет, который вы можете установить как локальный исполняемый файл. Например, v12.1: npm i --no-save node@12.1. Вы можете запустить его в текущей папке, как ./node_modules/node/bin/node .. Недостатком является то, что вы не можете / не должны устанавливать его глобально.
Geekley

Ответы:


480

Одним из способов является использование NVM, Node Version Manager.

Используйте следующую команду, чтобы получить nvm

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

Вы можете найти его на https://github.com/creationix/nvm

Позволяет легко устанавливать и управлять несколькими версиями узла. Вот фрагмент справки:

Usage:
nvm install <version>       Download and install a <version>
nvm use <version>           Modify PATH to use <version>
nvm ls                      List versions (installed versions are blue)

2
После перезапуска сервера он сбрасывает nvm, и я должен сказать ему, чтобы начать использовать определенную версию снова. Даже после настройки nvm alias default v0.5.0Вы случайно не знаете, как заставить его сохранить настройки после перезагрузки?
Джей Ди Айзекс

3
Это то, что я сделал - из документов: «Чтобы активировать nvm, вам нужно получить его из оболочки bash. ~ / .Nvm / nvm.sh Я всегда добавляю эту строку в мой файл ~ / .bashrc или ~ / .profile. чтобы он автоматически получал источники при входе в систему. Часто я также ставлю строку, чтобы использовать конкретную версию узла. "
Дэвид EGP

2
этот не работал для меня. Всегда шов, чтобы быть на той же версии. github.com/tj/n работал лучше для меня, проще.
Педро Луз

1
Также вы можете иметь .nvmrcфайл в каталоге с описанием версии, которую вы хотите использовать. А потом просто зарабатывать nvm useи ни о чем не беспокоиться
Сергей Панфилов

1
Я много пробовал nvm и обнаружил, что это не очень интуитивно понятно. Только что попробовал * NIX ниже и сразу смог установить и переключать версии без ошибок.
Дэвид Родерик

514

* NIX (Linux, OS X, ...)

Используйте n , чрезвычайно простой менеджер версий Node, который можно установить через npm.

Скажем, вы хотите, чтобы Node.js v0.10.x собирал Atom .

npm install -g n   # Install n globally
n 0.10.33          # Install and use v0.10.33
Usage:
n                            # Output versions installed
n latest                     # Install or activate the latest node release
n stable                     # Install or activate the latest stable node release
n <version>                  # Install node <version>
n use <version> [args ...]   # Execute node <version> with [args ...]
n bin <version>              # Output bin path for <version>
n rm <version ...>           # Remove the given version(s)
n --latest                   # Output the latest node version available
n --stable                   # Output the latest stable node version available
n ls                         # Output the versions of node available

 

Windows

Используйте nvm-windows , это как nvm, но для Windows. Загрузите и запустите установщик , затем:

nvm install v0.10.33         # Install v0.10.33
nvm use v0.10.33             # Use v0.10.33
Usage:
nvm install [version]        # Download and install [version]
nvm uninstall [version]      # Uninstall [version]
nvm use [version]            # Switch to use [version]
nvm list                     # List installed versions

7
да не повезло на винде. Я установил nvmw с помощью npm, и он сделал свою работу! > npm install -g nvmw
Уго Сильва

4
nvmw больше не поддерживается
Джо Ллойд

4
n use vesionНе могу изменить версию узла глобально. Просто один раз поменял.
Дай Кайсян

3
Этот ответ должен быть отредактирован для удаления части Windows, nvmw больше не поддерживается. Любая попытка использовать его в Windows 10 приводит к «ОШИБКЕ: системе не удалось найти указанный раздел реестра или значение».
ohsully

1
Не работал из коробки на Ubuntu. n 9.6.0утверждает, что он установил 9.6.0, но node -vвсе еще показывает 9.6.1.
Дан Даскалеску

72

Зачем использовать любое расширение, если вы можете сделать это без расширения :)

Установить конкретную версию узла

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Конкретная версия: sudo n 4.4.4вместоsudo n stable


12
Видимо nне поддерживается на окнах.
jfriend00

в Ubuntu выдается следующая ошибка: npm ПРЕДУПРЕЖДЕНИЕ с использованием --force Я очень надеюсь, что вы знаете, что делаете.
Харлан Чен

1
@HarlanChen Это не ошибка. Это предупреждение. Вы можете игнорировать это.
Панкадж

2
Разве это не nрасширение? Когда вы делаете, npm install -g nвы устанавливаете расширение ...
Aljosha Novakovic

Пожалуйста, игнорируйте sudoчасть. ты не должен этого делать
kreig303

56

Окна:

Понизить рейтинг вашего узла.

npm install node@<version>
 ex: npm install node@8.10.0

Чтобы понизить ваш нпм.

npm install -g npm@<version>
 ex: npm install -g npm@3.10.10

Обратите внимание, закройте все ваши окна, где работает узел. Браузер, редактор и т. Д.

Вам необходимо сначала установить узел. И если вы уже установили, вы можете понизить версию узла и npm, просто запустив вышеуказанные команды. Если вам все же не повезло и не удалось обновить узел. Попробуй это. Попробуйте установить узел по всему миру. например:

npm install -g node@8.10.0

Здесь также стоит попробовать обновить npm, если вы ищете последнюю версию npm. Запустить

npm install npm@latest -g

MAC

Примечание: для Mac эти же команды должны работать. Надеюсь, это решит.


19
К сожалению, это не меняет версию моего узла.
Амос Лонг

3
Я попробовал этот подход, и он не работал. Что работало, так это удаление пакета узла из snappin «Установка и удаление программ». Затем загрузите нужную версию с сайта узла.
Альберто С.

Я на Mac, и в моем случае мне не нужно было добавлять sudo, так что просто печатание npm install -g node@8.12.0работало нормально
Джорджио Темпеста

1
Большое спасибо! Этот подход помогает установить node@10.17.0 в мой проект, а затем позволяет мне успешно установить Realm@3.4.0. До этого я повторил много разных подходов, но все равно не смог установить последнюю версию Realm в Windows для своего проекта React-Native.
garykwwong

12

Windows

Понизить узел с Chocolately

Установите Шоколад. Затем запустите:

choco install nodejs.install -version 6.3.0

В Chocolatey доступно множество версий Node .

Понижение NPM

npm install -g npm@3.10.3

а для линукса? :)

@ noob-fella Это, вероятно, доступно через apt-get; Я не пробовал это.
Шон Луттин

Вы можете переключаться между различными версиями Node.js на лету с Chocolately?
Бенни Neugebauer

12

самый простой способ, который я нашел, это просто использовать сайт nodejs.org :

  1. перейдите на https://nodejs.org/en/download/releases/
  2. найдите нужную версию и нажмите «скачать»
  3. на Mac нажмите исполняемый файл .pkg и следуйте инструкциям по установке (не уверен, какой правильный исполняемый файл для Windows)
  4. будьте счастливы теперь, когда вы находитесь на версии узла, который вы хотели

1
Безусловно самый простой вариант!
г-н Вашингтон,

2
в Windows: MSI не понизит версию узла. Это просто выход.
Бернард

10

nvmw больше не поддерживается, но я нашел другой источник, который, кажется, обновлен (по состоянию на 1/4/17).

NVM-окно

Оно работает. Позволил мне понизить до 6.3.1


9

Ubuntu - Официальный путь (вручную)

Если вы находитесь на узле 12 и хотите перейти на узел 10, просто удалите узел и следуйте инструкциям для нужной версии:

# Remove the version that is currently installed
sudo apt remove -y nodejs

# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

# (Re-)Install Node
sudo apt-get install -y nodejs

Windows - Официальный путь (вручную)

Я поймал себя на том, что хотел бы перейти на LTS на Windows с самого передового края. Если вы не используете менеджер пакетов, например Chocolatey, или менеджер версий узлов, например, nvm или n, просто скачайте нужную .msiверсию и установите ее. Вы можете удалить установленную версию с помощью инструмента «Установка и удаление программ» в Windows.

Chocolatey - способ управления пакетами

Я настоятельно рекомендую chocolatey для простого обновления установок, и это распространенный способ установки Node.js в Windows. Перед установкой LTS-версии мне пришлось удалить версию с передовыми возможностями:

choco uninstall nodejs

choco install nodejs-lts

С package.json- обслуживаемым и портативным способом

Позволяет каждому проекту указывать свою версию

Вы можете добавить nodeв качестве зависимости package.jsonи контролировать, какая версия используется для конкретного проекта. После выполнения package.json«скрипта» npmyarn) будет использовать эту версию для запуска скрипта вместо глобально установленного Node.js.

nodeПакет решает эту задачу путем загрузки nodeбинарного файла в локальной системе и помещает его в node_modules/.binкаталог.


Node Version Manager - "Винт это, я сделаю это сам!" Путь

Несмотря на то, что некоторые разработчики не очень портативны или их легко обслуживать, им нравится переключать вручную, какая глобальная версия узла активна в любой момент времени, и считают, что официальные способы сделать это слишком медленны. Существует два популярных пакета npm, которые предоставляют полезные интерфейсы CLI для выбора (и автоматической установки) той версии, которая вам нужна для вашей системы: nvmи n. Использование любого из них выходит за рамки этого ответа.



5

В Windows 7 я использовал общий Uninstall Node.js (только начал печатать в левом нижнем углу, поле главного меню), а затем щелкнул ссылку на более старую версию, соответствующую проекту, например: 64-битный установщик Windows : https://nodejs.org/dist/v4.4.6/node-v4.4.6-x64.msi


4

У меня была версия узла 6.4.0.

Поскольку мне нужна более старая версия 6.3.0, я просто установил версию 6.3.0 снова в моей системе. версия узла понижена автоматически.

Итак, чтобы понизить версию узла, просто установите более старую версию узла js. Это будет понижено автоматически от более высокой версии.

Я пробовал в OSX. Работает как часы .


1

По какой-то причине Brew устанавливает узел 5 в отдельный каталог под названием node5.

Чтобы вернуться к версии 5, я предпринял следующие шаги: (Вам нужно будет посмотреть стандартную установку / удаление brew, но в противном случае этот процесс будет более простым, чем кажется).

  1. Установите node5, используя стандартную установку Brew, НО пока не заваривайте ссылку.
  2. Удалите все остальные версии узла, используя узел brew unlink и узел удаления brew. Возможно, вам придется использовать --force, чтобы удалить одну из версий.
  3. Найдите папку подвала на вашем компьютере
  4. Удалить папку узла в подвале.
  5. Переименуйте папку node5 в узел.
  6. Затем заварите узел ссылки

Вы должны быть полностью настроены с узлом 5.


1

запустите это:

rm -rf node_modules && npm cache clear && npm install

Узел будет установлен из того, что кэшируется. Поэтому, если вы сначала все очистите, то NPM использует 0.10.xx, и он вернется правильно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.