Как я могу обновить npm в Windows?


601

Я попробовал это :

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

... но это не сработало.

Как мне сделать это на Windows?


3
Обычная процедура обновления программного обеспечения, в котором нет встроенных автоматических обновлений, - это загрузить и установить последнюю версию. Вы пробовали это?
JJJ

9
@Juhana Я подумал, может быть, есть какой-то способ сделать это через npm, как упомянуто в этой ссылке.
Джатин

1
Ты можешь сделать это с Шоколадкой. Смотрите мой ответ здесь для получения дополнительной информации: stackoverflow.com/a/19915418/373655
ограбить

6
Так как вы используете sudo на Windows? superuser.com/questions/42537/…
Аран Малхолланд

3
sudoне работает на Windows ...
Blairg23

Ответы:


2019

Это новый лучший способ обновить npm в Windows .

Запустите PowerShell от имени администратора

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade

Примечание: не бегать npm i -g npm. Вместо этого используйте, npm-windows-upgradeчтобы обновить npm в будущем. Также, если вы запустите установщик NodeJS, он заменит версию узла.

  • Обновляет npm на месте, где его установил узел.
  • Простое обновление, обновление до последней версии npm-windows-upgrade -p -v latest.
  • Не изменяет путь по умолчанию.
  • Не изменяет расположение глобального пакета по умолчанию.
  • Позволяет легко обновить и понизить.
  • Официально рекомендовано командой NPM .
  • Список версий, совпадающих между NPM и NODE ( https://nodejs.org/en/download/releases/ ) - но вам нужно будет загрузить NODE INSTALLER и запустить его для обновления узла ( https://nodejs.org/en / )

9
Возникли проблемы с получением моего обновления, этот скрипт работал отлично. Спасибо.
atom0s

8
Microsoft рекомендует использовать это в своем репозитории nodejs-guidlines на github . Также предлагаются инструменты для управления версиями узлов.
Кристофер Уок

9
Это отлично работает для npm. Я подумал, что упомяну, поскольку сам вопрос касается обновления узла и npm, чтобы получить оба обновления, мне пришлось удалить / переустановить узел, а также запустить это обновление (не уверен, что установщик узла сделал бы это сам, как я сделал обновление первым)
edencorbin

125
а как насчет самого узла?
Дженсон Баттон: мероприятие

26
Я следовал инструкции, но при запуске «npm-windows-upgrade» я получаю следующую ошибку:npm-windows-upgrade : The term 'npm-windows-upgrade' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Бен Карп,

612

Загрузите и запустите последнюю версию MSI. MSI обновит ваш установленный узел и npm.


25
Обратите внимание на 32 и 64-битные MSI. Не просто нажмите на ссылку «Установщик Windows» - это 32 бит. Проверьте, где находится ваш текущий nodejs, в «Program Files» или «Program Files (x86)». «X86» означает 32-разрядный. Смотрите комментарии ниже о "старая версия была установлена ​​в другой каталог".
tivnet

49
На данный момент (ноябрь 2014 г.) вы получите последний узел (0.10.33), но не последний npm - вы получите npm 1.4.28. Для обновления до современного (2.xx) npm в Windows следуйте инструкциям, приведенным здесь: github.com/npm/npm/wiki/Troubility#upgrading-on-windows
Сэм Майкс,

1
Установщик узла содержит последнюю версию npm, которая была доступна на момент выпуска узла. (на ветке 1.x)
josh3736

2
Я бы порекомендовал сначала удалить текущую версию узла из «Программы и компоненты» ...
wayofthefuture

3
(Февраль 2018 года; должно быть, стало легче!) Я работаю с Node и npm уже пару лет. Я получаю Node msi от nodejs.org. Каждая msi, которую я использовал, обновлялась со старой версии Node без жалоб и уведомлений. Последние Node msi включают npm, хотя иногда старый npm. docs.npmjs.com/troublesho// говорит npm install -g npmработает. Я сделал это; У меня не было трудностей. Совсем недавно я обновил Node и тоже получил текущий npm.
BaldEagle

121

Чтобы обновить NPM, это сработало для меня:

  • Перейдите в вашей оболочке к каталогу установки вашего узла, например C:\Program Files (x86)\nodejs
  • запустить npm install npm(без -gопции)

7
На самом деле это один из рекомендуемых подходов для Windows: github.com/npm/npm/wiki/Trou устранение
граната

3
Это сработало для меня после того, как я обновил узел с помощью принятого ответа.
Джейми Хатбер

2
@ singe3 Командная строка должна быть повышена (запущена от имени администратора), чтобы можно было изменять C: \ Program Files. Мне не очень нравится этот метод, потому что "npm install -g" попытается установить в Program Files, поэтому всегда нужно запускать команду cmd для установки других глобальных пакетов. Вариант 2 в ссылке с гранатой лучше IMHO: удалите Program Files \ nodejs \ npm.cmd, чтобы он использовал локальный npm пользователя.
Пмонт

21
Мне нужно было использоватьnpm install npm@latest
TryingToImprove

1
@TedingToImprove Вы должны удалить узел, удалить программные файлы \ узел и% appdata% \ узел. Переустановите узел. Затем используйте npm-windows-upgrade (см. Мой ответ). npm-windows-upgrade является лучшим решением и не имеет подводных камней, как другие ответы здесь. Подводный камень, который у вас есть, теперь составляет 2 версии npm в вашей системе, и в зависимости от того, есть ли файл npmrc, вы можете иметь несколько глобальных пакетов и несогласованность. Как обновить глобальный пакет, но все еще получать старую версию ...
Роберт Бейкер

70

Как и некоторым людям, мне нужно было объединить несколько ответов, и мне также нужно было установить прокси.

Это должно работать для всех. У меня нет нужды запускать EXE-файл или MSI-файл .. удалить / переустановить или вручную удалить файлы и папки. Вот так 1999 год: P

  1. Запустите это, чтобы обновить NPM:

    Запустите PowerShell от имени администратора

    npm i -g npm    // This works

    Я не думаю, что этот код на самом деле обновляет вашу версию npm ниже

    Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
    npm install -g npm-windows-upgrade
    npm-windows-upgrade
    
    (courtesy of "Robert" answer)

Запустите это, чтобы обновить Node.js:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files (x86)\nodejs\node.exe'    (courtesy of BrunoLM answer)

Если вы получили `wget: Не удалось найти часть пути ...." **, см. Ниже ... прокрутите вниз. Чтение веб-ответа ... По крайней мере, это пробивает брандмауэр / прокси (если он у вас есть) или уже запустили код до конца ...

В противном случае

Возможно, вам придется установить свой прокси

npm config set proxy "http://proxy.yourcorp.com:811"    (yes, use quotes)

2 возможные ошибки

  1. Он не может найти путь к решению пути "where.exe node" (любезно предоставлено Lonnie Best Answer)

    Например, если Node.js НЕ находится в «Program Files (x86)», возможно, вместе с where.exe, он находится в «C: \ Program Files \ nodejs \ node.exe».

    wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files\nodejs\node.exe'
  2. Теперь, возможно, он пытается обновить, но вы получаете другую ошибку, «node.exe используется другим процессом».

    • Закройте / выключите другие консоли .. командные приглашения и окна PowerShell и т. Д. Даже если вы используете npm в командной строке, закройте его.

нпм -v (3.10.8)

узел -v (v6.6.0)

СДЕЛАННЫЙ. Я в той версии, которую хочу .


1
Мой узел находится вc:\Program Files\nodejs
malix

1
Это единственный ответ, который все еще может работать (другие выглядят довольно старыми и устарелыми), и, слава богу, это работает.
omer.ersoy

После удаления предыдущей версии экземпляра nodejs (например, из файлов программы, пользовательских данных и т. Д.). Он выдавал ошибку, как будто предыдущая версия nodejs уже установлена, когда я пытался установить 8.x версию nodejs. Это решило мою проблему.
Никто не

58

Вы можете использовать Chocolatey, который является менеджером пакетов для Windows (например, apt-get для Debian Linux).

Установить заново (может потребоваться удалить ранее установленные версии)

> choco install nodejs

Обновление до последней версии

> choco update nodejs

и для нпм

> choco update npm

7
choco update npmустарел. Используйте npm-windows-upgradeдля обновления npm. github.com/felixrieseberg/npm-windows-upgrade
Роберт Бейкер,

2
Команда @Robert choco update устарела, но мы все еще можем использовать команду
choco

2
@ Акиб пакет npm устарел в шоколаде. См. Chocolatey.org/packages/npm
Роберт Бейкер

3
Следуя этому совету, Chocolatey установил невероятно старую версию npm, которая отвергла мою слегка старую версию, что привело к очень плохим вещам.
uglycoyote

49

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

 npm install npm@latest -g

Используйте PowerShell для его запуска. Эта команда не требует прав администратора Windows, и вы можете проверить результат сnpm -v



1
Если у вас установлен nodejs , в Windows установлены две версии npm. Выполняется npm install npm@latest -gтолько обновление global ( -g) установленного (% appdata% \ npm \). Чтобы обновить npm, который поставляется с nodejs (% ProgramFiles% \ nodejs \ node_modules \ npm), вы можете загрузить установщик .msi с сайта nodejs.org/en и запустить его. Другие официальные способы обновления npm: github.com/npm/npm/wiki/Trou
устранение неполадок#upgrading-on-windows

1
Работал на меня. Спасибо :)
Мудрак Пател

Работал на меня :)
Mayank Pandeyz

Это кажется лучшим ответом из-за его простоты.
Майк Пул

24

Предыдущие ответы будут работать при установке новой версии Node.js (вероятно, лучший вариант), но если у вас есть зависимость от конкретной версии Node.js, то будет работать следующее: «npm install npm -g». Проверьте, выполнив npm -v до и после команды.

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


Конечно, это делает @BrianDiPalma. Добавлен снимок экрана, показывающий обновление с 2.14.12 до 3.8.2
Will Lopez

22

Это прекрасно работает для меня, чтобы обновить npm на Windows 7 x64:

  • Запуск Windows
  • Все программы
  • Node.js
  • Командная строка Node.js (альтернативный щелчок)
  • Запустить от имени администратора

    $ npm -g install npm

  • удалить C:\Program Files\nodejs\npm.cmdновый нпм будет поC:\Users\username\appdata\roaming\npm\npm.cmd

Надеюсь это поможет.


2
Это решение изменяет каталог nodejs, оставляя потерянным npm. Если у вас более 1 пользователя на машине, вы просто сломали NPM для всех остальных. Этот метод также вызывает проблемы с глобальными пакетами. npm, установленный с помощью этого ответа, не имеет файла npmrc, поэтому глобальные пакеты в будущем, вероятно, будут установлены в неправильном каталоге. Если вы обновите узел, то узел jj / npm.cmd будет восстановлен. Поэтому, если nodejs обновляет npm, вы застреваете на старом, если не выполните эту команду снова.
Роберт Бейкер

17

Откройте PowerShell от имени администратора.

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

$nodeLatest=((curl https://nodejs.org/download/release/latest/).Content | findstr x64.msi) -replace "<(.*?)>", "" -replace "\s+.+", "";
wget "https://nodejs.org/download/release/latest/$nodeLatest" -OutFile (join-path $env:TEMP node.msi); Start-Process (join-path $env:TEMP node.msi)

На будущих обновлениях вы можете скачать просто node.exeи обновить npm с

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\Program Files\nodejs\node.exe'
npm i -g npm

Теперь у вас должен быть последний узел и npm.


Я пошел немного дальше и решил реализовать nvmдля Windows.

https://github.com/brunolm/nvm

Install-Module -Name power-nvm

nvm install latest
nvm default latest

Отличный ответ. Многие, конечно, использовали бы C:\Program Files\nodejs\node.exeдля последней части.
arviman

13

Используйте Обновление npm в Windows

Это официальный документ для пользователя, чтобы обновить npm на Windows!

Вот мой скриншот!

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


MSI также еще один выбор!
xgqfrms

Со страницы, на которую вы ссылаетесь: «Это небольшой инструмент, созданный инженерами Microsoft DX». Поэтому говорить «это официальный документ», возможно, немного вводит в заблуждение. Звучит так, будто вы говорите, что это официальный сайт от людей из npm.
Jinglesthula

13

1. Установка последней версии npm

npm install g npm@latest 

(Вы можете набрать «npm –version», чтобы проверить это)


2. Установка узла

а. Установите новую версию узла по следующему URL-адресу: https://nodejs.org/en/download/current/. Выполните выбор по умолчанию.
B. Удалите C: \ Users \\ AppData \ Roaming \ NPM
c. Удалить C: \ Users \\ AppData \ Roaming \ npm-cache


По выбору:

д. (Удалить папку node_modules в папке вашего текущего проекта)
e. проверка кэша npm
f. установка npm


Это сработало для меня .. Возможно, вам придется использовать npm rebuild node-sass --force после того, как вы закончите установку, потому что ваша среда изменилась
Abx

9

Как обновить Node.js:

  1. Удалить Node.js. Щелкните меню «Пуск», введите «Изменить или удалить программу», щелкните отображаемый элемент, найдите Node.js в списке и удалите его.

  2. Удалить каталоги, как C:\Program Files (x86)\nodejs\и C:\Program Files\nodejs\если они существуют.

  3. Установите последнюю версию , https://nodejs.org/en/download

    Удаление / удаление / установка кажется ненужным, но это часто происходит, и это сэкономит ваше время. Эти инструкции исходят от Microsoft.

Как обновить NPM:

    https://www.npmjs.com/package/npm-windows-upgrade

    Это официальная документация по обновлению npm на windows.

Все было протестировано и работает на Windows 10 (2017).


9

Для чего это стоило, мне пришлось объединить несколько ответов ...

  1. Удалите Node.js в панели управления Установка и удаление программ .
  2. Удалить каталоги, как C:\Program Files (x86)\nodejs\и C:\Program Files\nodejs\если они существуют.
  3. Установите последнюю версию, http://nodejs.org/download/

Можете ли вы вспомнить что-то конкретное, почему вы должны были это сделать? Я только попробовал это с загрузкой, установкой, и это работало немедленно.
amenthes

Нет, но я думаю, что более старая версия узла установила его в другой каталог Windows в пути. По крайней мере, это мое предположение
Тим

7

это лучший инструмент для поддержки версии NODE.Js i NVM

Node Version Manager (nvm) для Windows, но для Windows, с установщиком. Скачать сейчас ! Это всегда был менеджер версий узлов, а не менеджер io.js, поэтому нет обратной поддержки для io.js. Тем не менее, узел 4+ поддерживается. введите описание изображения здесь


1
Самый мощный и удобный ответ здесь? ПОДПИШИТЕ это, люди! Если вы согласны.
Джаред Тёрск

5

Для меня после полной деинсталляции узла. 10.29, а затем установив узел 4.2.2, в моей папке c: \ windows остался файл 10.29 node.exe.

Я нашел это с помощью следующей команды:

where.exe node

Команда вернула:

C:\Windows\node.exe
C:\Program Files\nodejs\node.exe

Так что, хотя я успешно установил версию 4.2.2 через исполняемый файл msi, команда "node -v" продолжит возвращать 10.29.

Я решил это, удалив этот файл:

C:\Windows\node.exe

5

Хорошо, ребята, я прочитал (попробовал в Windows) все предыдущие материалы, и у всех этих ответов есть свои недостатки.

Чтобы лучше всего обновить Node.js (по крайней мере, для меня), перейдите по ссылке https://nodejs.org/en/. Затем загрузите последнюю версию и установите ее в ту же папку, в которой вы установили предыдущую версию - через 1 минуту, и это сделанный. Вам не нужно удалять любые старые файлы.

Затем обновите npm, набрав в cmd:npm install --save latest-version


1
Может быть, во время пробовать другие решения я случайно обновил npm. Чтобы обновить его, введите cmd: npm install - сохранить последнюю версию
Василий Гутник,

1
Иногда я все еще спрашиваю себя, ПОЧЕМУ я использую окна. Спасибо за ваше простое решение.
Юрий Рамос

4

Я следовал за @ josh3737 и установил последний MSI с домашней страницы node.js.

Но у меня была дополнительная проблема, что у меня все еще были старый узел и npm в командной строке. Проблема была вызвана новой установкой, что она была установлена ​​в

C:\Program Files (x86)\nodejs\

вместо предыдущей установки в

C:\Program Files\nodejs\

Новая установка добавила новый каталог в мою переменную path после старой. Таким образом, старая установка все еще была активной в пути. После удаления C:\Program Files\nodejs\из системного пути и C:\Users\...\AppData\Roaming\npmиз пользовательского пути и перезапуска командной строки новая установка была активной.

Возможно, наименьший путь был локальной проблемой, которая не имеет ничего общего с новой установкой, у меня было две ссылки на AppData\Roaming\npmнее. И, возможно, это также можно исправить, сначала удалив node.js, а затем установив новую версию.


4

У меня это нормально работает

  1. Запустите командную строку от имени администратора

  2. Перейдите в папку, содержащую nodejs (например, C: \ Program Files \ nodejs)
  3. Запустите Powershell -ExecutionPolicy Неограниченно

  4. Запустите npm-windows-upgrade

  5. Это покажет список версий, доступных для установки. Просто выберите нужную версию, нажимая клавишу вверх / вниз и нажмите Enter.

    Это обновит ваш npm
  6. Чтобы проверить текущую версию npm

    Запустите npm --version

Скриншот командной строки


4

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

  • перейти к Windows > Start > Node.js

    • щелкните правой кнопкой мыши на Node.js command prompt
    • нажмите на Run as administrator
  • ping registry.npmjs.org

  • npm view npm version

  • cd %ProgramFiles%\nodejs

  • npm install npm@latest

и npm успешно обновлены. Ранее я пытался CMD, и это было ошибка. может быть какая-то проблема пути, которая была решена с помощью командной строки NodeJs. надеюсь, это сработает для вас. попробуй это.


4

Чтобы установить обновления, просто загрузите установщик с сайта Nodejs.org и запустите его снова. Новая версия Node.js и NPM заменит старые версии.


это не работает в моем случае с Windows 10. У меня есть npm v5.4.2и node 7.5.0. Когда я хотел установить node v9.0.0 npm -vговорит 5.4.2не 5.5.1так, как должно быть
Искрен Станиславов

4

Самый простой способ обновления Node.js, который я нашел, - это использование Chocolatey . Используйте Chocolatey для установки или обновления последней версии Node.js в Windows:

Шаг 1: Во-первых, убедитесь, что у вас уже установлен Chocolatey. Если нет, используйте административную оболочку для установки chocolatey через cmd.exe или PowerShell.exe. Для получения дополнительной информации посетите: https://chocolatey.org/docs/installation

Шаг 2: Установите с помощью cmd.exe . Запустите следующую команду:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Для установки с PowerShell.exe , посетите: https://chocolatey.org/docs/installation

Шаг 3: Установите или обновите с помощью следующих команд на cmd.exe (в административном режиме)

Чтобы установить Node.js :cinst nodejs.install

Чтобы обновить Node.js :cup nodejs.install


4

выполните следующие шаги для окна 10 или окна 8

  • нажмите WIN + R и введите cmd и введите
  • npm i -g npm@next
  • npm i -g npm@next ИЛИ npm i -g node@{version}
  • Удалить путь среды C:\Program Files\nodejs из переменной PATH.
  • введите refreshenvcmd

Теперь у вас будет новая версия, которую вы установили.

Примечание : если вы не удалите путь. Вы увидите предыдущую версию узла.


3

Для NodeJS

Загрузите требуемую версию узла msi отсюда и установите

для Npm

Запустите PowerShell от имени администратора

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade

2

Powershell не выполняет npm напрямую, я предлагаю использовать

.\npm install -g npm-windows-upgrade
.\npm-windows-upgrade

и это не удалось с:

Вы хотели установить npm 6.1.0, но установлена ​​версия 3.10.10.

Распространенной причиной является попытка "npm install npm" или "npm upgrade npm". На сегодняшний день единственное решение - полностью удалить, а затем переустановить Node.js. Для небольшого учебника, пожалуйста, смотрите http://aka.ms/fix-npm-upgrade .

Пожалуйста, рассмотрите сообщение о своей проблеме по адресу http://aka.ms/npm-issues .

http://aka.ms/fix-npm-upgrade <- это неработающая ссылка


1

Вы можете использовать эти команды:

npm cache clean
npm update -g [package....]

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


1

Это может помочь кому-то. Ни npm-windows-upgrade, ни один установщик не сделали это для меня. Powershell все еще использовал более старую версию node и npm.

Вот что я сделал (работал для меня): 1. Загрузите последнюю версию установщика с nodejs.org. Установить узел. Это обновит ваш узел; везде (Powershell, CMD и т. д.). 2. Установите пакет npm-windows-upgrade (npm install -g npm-windows-upgrade) и запустите npm-windows-upgrade.

Я ничего не удалял и не устанавливал пути.


1
«Powershell все еще использовал более старую версию node и npm». Вероятно, вы использовали какой-то другой метод обновления в прошлом, изменив путь или запустив npm i -g npm. Если у вас возникнут какие-либо проблемы в будущем, вы должны сделать это: github.com/felixrieseberg/…
Роберт Бейкер

1

В моем случае я обнаружил, что у меня установлено две копии Node.js. Один в "C: \ Program Files \ nodejs", а другой в "C: \ Program Files (x86) \ nodejs".


0

Это то, что сработало для меня.

  1. Откройте локальную папку, отличную от той, в которой установлен nodejs.
  2. Установите npm в эту папку с помощью команды npm install npm
  3. Перейдите к папке, содержащей узел js. (C: \ Program Files \ nodejs \ node_modules)
  4. Удалите папку npm и замените ее папками npm и bin в локальной папке.
  5. Беги npm -v. Теперь вы получите обновленную версию для npm.

Примечание. Я попытался установить npm напрямую в «C: \ Program Files \ nodejs \ node_modules», но это вызвало ошибки.


0
  1. Начните
  2. Поиск Windows PowerShell
  3. Щелкните правой кнопкой мыши и запустите от имени администратора
  4. Введите: where.exe node (возвращает путь к node.exe в вашей системе. Скопируйте это)
  5. wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'PATH-OF-NODE.EXE_WHICH_YOU_COPIED_JUST_NOW'
  6. Чтобы проверить, сработало ли это, перейдите в командную строку Git bash / Normal и введите: node -v
  7. Здесь вы можете найти текущую версию узла: https://nodejs.org/en/blog/release/
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.