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

601

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

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

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

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

Jatin
источник
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.

josh3736
источник
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опции)
meetar
источник
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

Хуан Дэвид
источник
5
Самый
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

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

bohem.be
источник
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
BrunoLM
источник
Отличный ответ. Многие, конечно, использовали бы C:\Program Files\nodejs\node.exeдля последней части.
arviman
13

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

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

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

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

xgqfrms
источник
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

ofir_aghai
источник
Это сработало для меня .. Возможно, вам придется использовать 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).

whitneyland
источник
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+ поддерживается. введите описание изображения здесь

Adiii
источник
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, а затем установив новую версию.

migg
источник
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. надеюсь, это сработает для вас. попробуй это.

skakkar
источник
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

Anjy
источник
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.

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

robinhood9
источник
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», но это вызвало ошибки.

Nithin Baby
источник
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/
Kshri
источник