Обновите Node.js до последней версии в Mac OS

723

В настоящее время я использую Node.js v0.6.16 на Mac OS X 10.7.4. Теперь я хочу обновить его до последней версии Node.js v0.8.1. Но после загрузки и установки последнего файла пакета с nodejs.org, я обнаружил, что система все еще использует v0.6.16 вместо v0.8.1, когда я набрал «node -v» в терминале. Есть ли какой-то шаг, который я пропустил? Или я должен полностью удалить старую версию перед установкой последней?

Кстати, я знаю, что nvm может помочь управлять пакетом nodejs

https://github.com/creationix/nvm/

Есть ли способ обновить Node.js без его использования?

Я погуглил эту проблему, но мне кажется, что нет четкого ответа на этот вопрос для последней версии Node.js.

afterglowlee
источник
Спасибо Боб. Я обновил свой вопрос.
послесвечение
Не уверен в ответе, но для пояснения работает ли процесс Node при его обновлении?
Боб Дэвис
Нет, я не думаю, что запущен какой-либо процесс Node. И после перезапуска ОС команда "node -v" по-прежнему показывает, что v0.6.16 запущен.
послесвечение
1
Люди - это 6-летний вопрос с некоторыми одинаково старыми ответами. Без сомнения, тогда они были лучшими практиками. Но по состоянию на 2018 год brew upgrade nodeдолжен работать просто отлично. Пожалуйста, смотрите ответ по wprl ниже.
PSCL
2
@pscl По состоянию на февраль 2019 года веб-сайт npm рекомендует использовать менеджер версий Node, например nили, nvmдля установки и обновления как Node, так и npm.
alexw

Ответы:

1401

Вот как я успешно обновился v0.8.18до v0.10.20 без каких-либо других требований, таких как brew и т. Д. (Введите эти команды в терминале):

  1. sudo npm cache clean -f (принудительно) очистить кэш npm
  2. sudo npm install -g nустановить п (это может занять некоторое время)
  3. sudo n stable обновить до текущей стабильной версии

Обратите внимание, что sudoможет предложить ваш пароль.

Дополнительное примечание относительно шаг 3: stableможет быть заменена на latest, lts(долгосрочной поддержку) или какой - либо конкретный номер версии , такие как 0.10.20.

Если номер версии не отображается при вводе текста node -v, возможно, вам придется перезагрузиться.

Эти инструкции также можно найти здесь: davidwalsh.name/upgrade-nodejs.
Более подробную информацию о пакете n можно найти здесь: npmjs.com/package/n.
Подробнее о расписании выпуска Node.js: github.com/nodejs/Release.

Йохан Деттмар
источник
6
работал для обновления узла с v0.10 до v0.12 в macos x snow leopard. Спасибо.
Сальвадор П.
3
FWIW вы можете использовать 'n lts' для установки долгосрочной версии поддержки, а не текущей стабильной версии (т.е. 4.4.3 вместо 5.10.1 на момент написания)
StephenT
2
Заваривать происходит ошибка. Это правильный ответ, в настоящее время.
oguzhan00
5
sudo n ltsв качестве последнего шага вы получите долгосрочную версию поддержки
Slartibartfast
3
Это сработало, но никто не объясняет, чем помогают команды, почему установка «n». Сегодня я только что выяснил, что «n» - это менеджер версий Node.js, что несколько объяснено на сайте npm js - npmjs.com/get-npm
Марк
863

Если вы изначально установили Node.js с Homebrew , запустите:

brew update
brew upgrade node
npm install -g npm

Или как однострочник:

brew update && brew upgrade node && npm install -g npm

Удобный способ изменить версию - использовать nvm :

brew install nvm

Чтобы установить последнюю версию Node.js с помощью nvm:

nvm install node

Если вы установили пакет, загрузите последнюю версию с сайта nodejs.org . Смотрите Установка Node.js и обновление npm .

wprl
источник
2
@afterglowlee Вы можете попробовать удалить старый узел перед переустановкой нового: stackoverflow.com/questions/9044788/…
wprl
14
Я только что проголосовал за этот ответ, но через 7 минут ожидания brew сказал мне, что установка не удалась ... Я тоже попробовал port upgrade node, но brew уже испортил пакет, и порт не может найти узел сейчас ... Наконец я пошел на nodejs.org, чтобы скачайте установочный пакет и бум! Все идет хорошо, в том числе нпм!
Jinzhao Huo
3
@Jinzhao Рекомендуется не устанавливать более одного из Homebrew, MacPorts или Fink.
wprl
2
в текущей версии brew говорится: «Если вы обновляете npm самостоятельно, НЕ используйте команду обновления npm. Рекомендованный апстрим способ обновления npm: npm install -g npm @ latest»
Pascal
7
Выполните npm install -g nodeследующие инструкции, если версия вашего узла все еще не обновлена.
Тилина Хасанта
172

Поскольку это, похоже, находится на вершине Google при поиске того, как обновить nodejs на Mac, я предложу свой совет всем, кто придет в будущем, несмотря на его возраст.

Обновление через NPM
Вы можете использовать метод, описанный @Mathias выше, или выбрать следующий более простой метод через терминал.

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

После чего вы можете подтвердить обновление

node -v

Ваш nodejs должен был обновиться до последней версии. Если вы хотите перейти на конкретную версию, скажите v0.8.19, а не

sudo n stable

использование

sudo n 0.8.19

РЕДАКТИРОВАТЬ Избегайте использования sudo, если вам не нужно. См. Комментарий Стива в комментариях

Кеннеди Няга
источник
4
Почему бы вам понизить ответ и не добавить комментарий, объясняющий почему?
Кеннеди Няга
Потому что вы советуете использовать sudo.
OZ_
2
Это работает, но: действительно ли необходимо использовать --forceфлаг на cache clean? И мне не нужно было sudoдля первых двух команд.
Стив Беннет
Спасибо @SteveBennett за добавление этого, я добавил sudo, чтобы включить новичков, которым это нужно, а не оставлять их в затруднительном положении. Более того, sudo будет работать в обоих случаях.
Кеннеди Няга
5
Иногда использование sudo, когда оно не нужно, на самом деле создает беспорядок, потому что вы в конечном итоге получаете файлы, которыми владеете root, которые затем не могут быть изменены без sudo.
Стив Беннетт
59

Перейдите на http://nodejs.org, загрузите и запустите установщик. Это работает сейчас - по крайней мере для меня.

Spoeken
источник
Знаете ли вы случайно, как установлены обновления jode.js в OS / X?
Димитриос Мистриотис
Я не уверен, что понимаю, о чем вы спрашиваете
Spoeken
1
Извините за путаницу (написал на скорую руку). Я установил node.js прямо из ссылки на скачивание сайта, Текущая версия: v0.8.14. Когда, скажем, выйдет v0.8.15, придется ли мне его снова загружать, будет ли он автоматически обновляться, будет ли он звонить домой и сообщать мне? Например, с помощью homebrew я делал апгрейд по
варке
1
Я не думаю, что это позвонит домой. Я думаю, вам придется регулярно проверять и загружать новую версию с их веб-страницы. Но я не 100% на этом.
Spoeken
5
наверное, самый простой способ здесь.
Мохит
45

Вы можете установить nvm и установить несколько версий Node.js.

curl https://raw.github.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh

и затем запустите:

nvm install 0.8.22  #(or whatever version of Node.js you want)

Вы можете увидеть, какие версии вы установили с:

nvm list

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

nvm use 0.8.22

Самое замечательное в использовании NVM заключается в том, что вы можете тестировать разные версии вместе. Если для разных приложений требуются разные версии Node.js, вы можете запустить их оба.

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

Я использую менеджер версий Node (называемый n) для него.

npm install -g n

тогда

n latest

ИЛИ

n stable
Шейх Шахид
источник
2
LTS версияn lts
Серхио Родригес
24

Просто зайдите на сайт JS Website и установите последнюю версию.

Установите последнюю версию вместо рекомендуемой стабильной версии. Это даст вам свободу использовать новейшие функции ES6 на узле.

Можно найти здесь Node JS .

также, чтобы обновить npm , вам придется использовать эту команду.

sudo npm i -g npm@latest

Все ваши проекты будут работать нормально.

Обновление: 2020 Еще один хороший вариант - использовать nvmдля узла, который может поддерживать несколько версий. используйте, nvm install --ltsчтобы всегда иметь возможность обновиться до последней версии узла, используйте nvm ls-remoteкоманду для проверки новых версий узла.


Другой вариант для Mac :: brew update && brew install node && npm -g npm

Тарандип Сингх
источник
20

На macOS рекомендуемый способ доморощенного запуска

brew install node
npm install -g npm@latest

Снимок экрана с терминальными командами

Ник Вудхэмс
источник
1
Он установит действительно последнюю версию, а не только самую свежую.
Ник Вудхэмс,
11

Я могу обновить узел, используя следующую команду

nvm install node --reinstall-packages-from=node
Рохит Кале
источник
8

к сожалению, nне работает для меня. Я использую, node version manager or nvmи это работает как шарм. вот ссылка на то, как установить nvm: https://github.com/creationix/nvm#installation

  • nvm i 8.11.2 обновить до последней версии LTS
  • nvm use 8.11.2 используй это
  • node -v проверьте свою последнюю версию
Jannomeister
источник
1
Это тот, который работал для меня. Я попробовал несколько главных комментариев, но после выполнения шагов, узел все еще застрял на v6. Спасибо!
Гедий
1
Это сработало для меня. спасибо джаномистер пожалуйста, ответьте за принятый ответ
Ричард Абир
6

Перейдите на сайт nodejs.org и загрузите последнюю версию pkg, а затем установите. меня устраивает

Я использовал brew для обновления своего узла. Он установлен, но находится в нем, /usr/local/Cellar/node/5.5.0и есть узел по умолчанию, /usr/local/bin/nodeкоторый беспокоит меня. Я не хочу делать мягкую ссылку, потому что я действительно не знаю, как устроен варево. Итак, я скачал pkgфайл, установил и получил эту информацию:

Node.js был установлен на

/usr/local/bin/node

npm был установлен на

/usr/local/bin/npm

Убедись в том, что /usr/local/bin это в вашем $ PATH.

Теперь обновление завершено

Лукас Лю
источник
5

Вы можете просто зайти на nodejs.org и загрузить новейший пакет. Он будет обновляться соответственно для вас. NPM также будет обновлен.

BRogers
источник
2
Безусловно, проще всего, если вы изначально установили его через веб-сайт de.
Элвин
4

Легко над безопасными шагами

Шаг 1: Установите NVM

brew install nvm

Шаг 2: Создайте каталог для NVM

mkdir ~/.nvm/

Шаг 3: Настройте переменные среды

nano ~/.bash_profile

Вставить ниже код

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

source ~/.bash_profile

Шаг 4: дважды проверьте свою работу

nvm ls

Шаг 5: Установите узел

nvm install 9.x.x

Шаг 6: Обновление

nvm ls-remote

   v10.16.2   (LTS: Dubnium)
   v10.16.3   (Latest LTS: Dubnium) ..........

NVM установить v10.16.3

Поиск проблемы

Error Example #1
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

https://www.chrisjmendez.com/2018/02/07/install/

Нарендранат Редди
источник
3

Вы можете бежать, но не можете спрятаться ... В конце концов, вы все равно будете использовать NVM .

Игорь Эскобар
источник
2
Или пакет 'n' ... Посмотрите ответ Кенни Уэста, если вам нужен простой менеджер пакетов, который вы можете установить через npm.
deepfirstdesigner
3

Я думаю, что самый простой способ использовать новейшую версию Node.js - это загрузить на сайт самый новый файл pkg Node.js. https://nodejs.org/en/download/current/, если вы хотите использовать другую версию Node. .js вы можете использовать nvm или n для управления им.

user4810973
источник
3
sudo npm install -g n

а потом

sudo n latest for linux/mac users

Для Windows переустановите узел.

Сумант Редди
источник
3

Nvm Nvm - менеджер версий узлов на основе сценариев. Вы можете легко установить его с помощью однострочного скручивания и скручивания, как описано в документации. Это также доступно на Homebrew.

Предполагая, что вы успешно установили nvm. Ниже будет установлена ​​последняя версия узла.

 nvm install node --reinstall-packages-from=node

Последний вариант устанавливает все глобальные пакеты npm в вашу новую версию. Таким образом, пакеты, такие как mocha и node-inspector продолжают работать.

N N - менеджер версий узлов на основе npm. Вы можете установить его, установив сначала некоторую версию узла, а затем запустивnpm install -g n .

Предполагая, что вы успешно установили n. Ниже будет установлена ​​последняя версия узла.

sudo n latest

Homebrew Homebrew - один из двух популярных менеджеров пакетов для Mac. Предполагая, что вы ранее установили узел с узлом установки brew. Вы можете получить последние сведения о формулах и перейти на последнюю версию Node.js, выполнив следующие действия.

1 brew update
2 brew upgrade node

MacPorts MacPorts - еще один менеджер пакетов для Mac. Далее будет обновлено дерево локальных портов, чтобы получить доступ к обновленным версиям. Затем он установит последнюю версию Node.js. Это работает, даже если у вас установлена ​​предыдущая версия пакета.

1 sudo port selfupdate
2 sudo port install nodejs-devel
Рубин Бхандари
источник
brew upgrade nodeветерок
хаваризми
Это то, что у меня работает на OSX. Я, вероятно, установил NVM, потому что node -vпродолжал давать мне 6.11.1даже после команд, связанных с n latestи так далее. Обновление варева один работал. Спасибо.
Хом Назид
2

Эти 2 метода, которые я попробовал, не работают:

  1. Используйте npm

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

  1. Ручная установка узла с официального сайта ( https://nodejs.org/en/ )

После попытки node -vвсе еще показывает старую версию узла.


Ниже метод работает для меня:

Шаг 1. Установите nvm (для получения более подробной информации: https://github.com/creationix/nvm#installation )

Откройте терминал и введите эту команду:

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

Закройте терминал и снова откройте его.

Введите эту команду, чтобы проверить, установлен ли nvm:

command -v nvm

введите описание изображения здесь

Шаг 2. Чтобы загрузить, скомпилировать и установить последнюю версию узла, введите:

nvm install node («узел» является псевдонимом для последней версии)

Проверить, получает ли узел последнюю версию (v10.11.0).

введите описание изображения здесь

Установка последнего узла также устанавливает последний npm.

Проверьте, получает ли npm последнюю версию (6.4.1).

введите описание изображения здесь

Савия Као
источник
Я обнаружил, что этот метод не работает для меня сейчас. Вот как я сделал вместо этого: npm install -g n sudo n 10.11.0(в моем случае, я просто хочу обновить до 10.11.0) Затем он обновился до 10.11.0node -v
Савиа Као
1

Используйте nvm для обновления узла в соответствии с требованиями проекта.

установить nvm через homebrew .. brew update brew установить nvm mkdir ~ / .nvm nano ~ / .bash_profile

В вашем файле .bash_profile (вы можете использовать другой файл, в зависимости от вашей оболочки), добавьте следующее:

export NVM_DIR = ~ / .nvm source $ (brew --prefix nvm) /nvm.sh

source ~ / .bash_profile echo $ NVM_DIR

Радхей Шьям
источник
0

У меня такая же проблема. Это то, что мне помогло, потому что я скачал и установил node.js глобально с сайта node.js.

Я попробовал дать NVM (Node Version Manager). Пожалуйста, выполните команды в следующем порядке в вашем терминале

  1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | удар

  2. команда -v nvm

  3. nvm установочный узел

  4. узел -v (чтобы подтвердить обновление)

fypnlp
источник
0

Вы можете напрямую использовать curl для обновления узла до последней версии. Запустите следующую команду:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

Ссылка: https://nodejs.org/en/download/package-manager/#macos

user846316
источник
0

Это просто , чтобы добавить некоторую информацию для людей , которые не имеют узел установлен с Homebrew , но получать эту самую ошибку при попытке установить пакеты с НПМ на Mac OS X .

Я нашел эту хорошую статью, объясняющую, как полностью удалить Node, каким бы способом вы его не установили.

После того, как node , npm и n были полностью удалены с моей машины, я просто переустановил Node.js, используя официальный установщик .pckg с сайта Node. и все вернулось на круги своя.

Надеюсь, это поможет кому-то.

rogopag
источник
-1

Я смог обновить за ~ 20 секунд всего одну строчку кода

sudo n latest

Другие команды не работали для меня, но эта сработала. Надеюсь, это кому-нибудь поможет.

Shyam
источник