Как мне обновить npm в Windows?


81

Когда я устанавливаю узел 0.10.33 из msi ( http://nodejs.org/download/ ), я получаю старую версию npm (1.4.28). Как я могу обновить npm в Windows?

npm install -g npm

не работает; У меня все еще есть старый npm.


Вы также можете просмотреть ответы на вопрос на: stackoverflow.com/questions/18412129/…
— bohem.be

@ bohem.be - это касается того, как обновлять nodeв Windows, что полезно; но этот вопрос / ответ о том, как обновить npm.
— Сэм Майкс,

поскольку, насколько мне известно, npm является частью обновления или установки узла (диспетчер пакетов узлов)
— bohem.be

Это мой последний ответ, потому что это не доска обсуждений. Пожалуйста, проверьте это stackoverflow.com/questions/9237715/… . А также перечитайте мой ответ на stackoverflow.com/questions/18412129/…, и вы увидите, что я обновляю npm, а не node.
— bohem.be

«К сожалению, распространено заблуждение, что аббревиатура означает« диспетчер пакетов узлов ».
— Сэм Майкс,

Ответы:


155

Вам необходимо следовать инструкциям по обновлению Windows ( https://docs.npmjs.com/try-the-latest-stable-version-of-npm )

ТЛ; др - npm -g install npm делает работу, но старая версия НПМ все еще находится в вашем PATH.

Чтобы исправить это, выполните одно из следующих действий:

Вариант 2: удалите оба

C:\Program Files (x86)\nodejs\npm

C:\Program Files (x86)\nodejs\npm.cmd

Или же

Вариант 3. Откройте cmd.exe от имени администратора, перейдите в папку C: \ Program Files (x86) \ nodejs и запустите установку без -g:

npm install npm@latest

* Существует пакет npm, который автоматизирует этот вариант 3:

npm install -g npm-win-upgrade


1
Это проблема, с которой я столкнулся неделями, теперь она решена :) Спасибо за ответ!
— sonlexqt

1
Ключевым моментом здесь является то, что после того, как вы сделаете все вышеизложенное, перезапустите оболочку, чтобы она переключилась с версии, установленной в папке узла, на версию, установленную в папке AppData,
— Кайл Чадха,

1
Reco для варианта 3 ... Скопируйте / вставьте: cd / c / 'Program Files / nodejs' && npm install npm @ latest
— benek

1
npm install npm @ latest отлично сработал, за исключением клиентов, которые все еще были <2.0
— beauXjames

Почему бы не использовать -gфлаг с npm install npm@latestподходом? У меня это сработало с -gфлагом, в то время как все остальное не сработало
— Overdrivr

44

Мы в Microsoft Open Source написали небольшой инструмент для автоматизации описанного выше процесса. Вы можете найти его здесь или просто установить и запустить, выполнив следующее в командной строке с повышенными привилегиями / PowerShell:

npm install -g npm-windows-upgrade
npm-windows-upgrade

1
Для этого нужен PowerShell. Что делать, если я не могу запускать сценарии PowerShell, загруженные из Интернета, и у меня нет прав на изменение настроек? Полагаю, мне нужно создать сертификат и подписать его. To much headache
— рофрол 08

1
Я выполнил все шаги, и все, что я получил, - это ошибка: PS C: \ Windows \ system32> npm-windows-upgrade npm-windows-upgrade: термин «npm-windows-upgrade» не распознается как имя командлет, функция, файл сценария или работающая программа. Проверьте написание имени или, если путь был включен, убедитесь, что путь правильный, и повторите попытку. В строке: 1 символ: 1 + npm-windows-upgrade + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (npm-windows-upgrade: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
— Дэн Чарпстер

1
У меня та же проблема, что и у @DanCsharpster, после выполнения всех шагов для Powershell в качестве администратора.
— Уэсли Масгроув

2
Исправление: у меня была та же проблема, что и у @DanCsharpster после выполнения всех шагов для Powershell в качестве администратора, но эта проблема была исправлена ​​путем добавления C: \ Users \ UserAdmin \ AppData \ Roaming \ npm в мой PATH, закрытия Powershell и повторного открытия его как Админ.
— Уэсли Масгроув

Была такая же проблема, как у Дэна и Уэсли. Смог разрешить это с советом Уэсли выше.
— Loathian 07

15

Может быть много способов обновить ваш npmв Windows

Способ 1

  1. Откройте Power Shell от имени администратора и выполните следующие команды шаг за шагом.
  2. Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  3. npm install -g npm-windows-upgrade
  4. npm-windows-upgrade
  5. Здесь вы можете выбрать предпочитаемую версию npm
  6. Готов идти !

Способ 2

  1. Вы можете просто обновить до последней npmверсии с помощью следующей команды
  2. npm install npm@latest -g
  3. или если вам нужна конкретная версия, npmпросто запустите
  4. npm install npm@{version} -g например npm install npm@3.3.12 -g

Теперь просто запустите npm --versionили, npm -vчтобы узнать свою текущую версию npm

3.3.12- моя предпочтительная версия, npmкоторая лучше всего подходит примерно для каждого пакета.


1
Способ 2 - единственный способ, который работает из коробки:npm install npm@latest -g
— Overdrivr

7

Итак, TL; DR; это сработало:

  1. Удалить узел

  2. Из командной строки запустите where npm

  3. Если вы установили npm через шоколадный, вы увидите путь вроде C: \ ProgramData \ chocolatey \ bin \ npm.exe - УДАЛИТЕ его!
  4. Теперь установите NodeJS, используя соответствующий MSI с https://nodejs.org/en/download/.
  5. В вашей любимой оболочке введите npm --version- теперь это должно отображать версию NPM, которая поставляется с NodeJS (на момент написания этой статьи это была версия 3.10.10).

Это то, что сработало для меня (тупой!). Я (много лет назад) установил npm через chocolatey, который создал запускаемый шоколадом npm.exe в C: \ ProgramData \ chocolatey \ bin \ npm.exe. Это была npm версии 1.4.9, и она не обновлялась, что бы вы ни делали, включая удаление и переустановку NodeJs.

=======

РЕДАКТИРОВАТЬ: лучший способ установить узел и npm

На сегодняшний день (27.06.2017) лучший способ установить и управлять узлом и npm - это установить nvm (менеджер версий узла), как описано здесь: https://github.com/coreybutler/nvm-windows . Если у вас есть nvm, установить любую версию узла очень просто:

  1. Откройте свою любимую консоль (CMD, Cmder, PowerShell)
  2. Тип nvm install 6.10.2(для установки версии узла 6.10.2)
  3. Чтобы увидеть текущую активную версию, введите nvm list. Это напечатает примерно следующее:

  6.9.3   
* 6.9.2 (Currently using 64-bit executable)
  6.9.1
  6.10.2


1
Ты спас мне день !! У меня такая же проблема. Я установил nodejs, используя шоколадный, и мне не удалось обновить версию npm.
— dsmyrnaios 01

1

Вам необходимо следовать инструкциям по обновлению Windows

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

Во-первых, убедитесь, что вы можете выполнять сценарии в своей системе, выполнив следующую команду из PowerShell с повышенными привилегиями. Чтобы запустить PowerShell от имени администратора, нажмите «Пуск», найдите PowerShell, щелкните правой кнопкой мыши PowerShell и выберите «Запуск от имени администратора».

  1. Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  2. npm install --global --production npm-windows-upgrade
  3. npm-windows-upgrade

Хотите просто установить последнюю версию? 1.npm-windows-upgrade --npm-последняя версия


0

Я сделал что-то похожее на Сэма Майкса. Я делюсь этим только потому, что не смог заставить ни одно из его решений работать на моей установке. После небольшой игры у меня сработало следующее:

  1. Удалите NPM / Node из переменных среды как для пользователя, так и для системы.
  2. Закройте открытую консоль, если она у вас открыта, затем откройте консоль от имени администратора.
  3. Измените каталоги на %USERPROFILE%- это переменная среды окна, которая приведет вас кC:\Users\CurrentlyLoggedInUser
  4. Запускаем из консоли в% USERPROFILE%, "C:\Program Files\nodejs\npm" install npm -g(может у вас в папке x86)
  5. Если это решение npm -vподойдет вам, шаг 4 сработает и покажет последнюю версию.
  6. Повторно добавьте узел (в программных файлах) / NPM (в данных приложения - тот, который установлен в программных файлах, должен быть старым) к вашим пользовательским и системным переменным среды

Примечание. В прошлом я использовал автоматизированный сценарий Microsoft, чтобы исправить это, но только потому, что не понимал, насколько легко будет сделать это самому.


Ха! Итак, я обновился, а затем мне нужно было перейти на более
— раннюю версию

0

Итак, ни один из предыдущих ответов не решил проблему для меня, поэтому я подумал, что опубликую свое конкретное решение, которое мне удалось выяснить, просмотрев все другие ответы, поэтому они были действительно полезны.

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

Чтобы решить эту проблему, мне просто пришлось запустить соответствующие команды удаления choco для npm и node, а затем все переключилось на другую версию node, которую я также установил с помощью node msi (с веб-сайта node).

Я надеюсь, что это поможет любому, кто, возможно, пошел по тому же пути, что и я.



0

Я попробовал почти все ответы, но ни один из них не подошел мне.
Ни npm-windows-upgrade не работал, ни npm install npm @ latest и т.д. не работал.
Для таких, как я, я предлагаю вам, ребята, загрузить последнюю версию установщика с веб-сайта Node.js , позволить существующей версии каталога узлов быть на своем месте и, ничего не меняя, просто установите установщик msi, и вы получите обновленную версию узла .
Мой случай обновлял узел с 6 до 8.9.3


Есть много способов обновить. Однажды я потратил на это весь свой рабочий день. Если вы столкнулись с той же проблемой, воспользуйтесь моим решением.
— Hamzox

0

все команды установки npm застревали и через некоторое время выдают ошибку (за ошибкой прокси). настройка прокси не помогла. Это то, что я сделал.

Был 8.11 nodeJS

  1. Удалил NodeJS из программы и компонентов с помощью деинсталлятора.
  2. Перезагрузитесь (или вам, вероятно, удастся убить все процессы, связанные с узлами, из диспетчера задач).
  3. Найдите эти папки и удалите их (и их содержимое), если они еще существуют. В зависимости от установленной версии, настроек UAC и архитектуры ЦП они могут существовать или не существовать: • C: \ Program Files (x86) \ Nodejs • C: \ Program Files \ Nodejs • C: \ Users {User} \ AppData \ Roaming \ npm (или% appdata% \ npm) • C: \ Users {User} \ AppData \ Roaming \ npm-cache (или% appdata% \ npm-cache) • C: \ Users {User} .npmrc (и возможно, проверьте это без префикса.)
  4. Проверьте переменную окружения% PATH%, чтобы убедиться, что не существует ссылок на Nodejs или npm.
  5. Если он все еще не удален, введите в командной строке where node, и вы увидите, где он находится - удалите его (и, возможно, родительский каталог).
  6. Перезагрузитесь, на всякий случай.

Установил 6.11 nodejs, и все заработало.


0

Чтобы обновить NPM в Windows 10

  1. Удалите Node.js
  2. Перезагрузите вашу систему
  3. по типу командной строки где npm
  4. удалить, если папка npm и npm-cache существует в AppData / Roaming
  5. Установите Node.js ( https://nodejs.org/en/ )

-3

Для узла обновления npm в Windows

Мне нужно удалить узел в:

C: \ Users ** ВАШ ПОЛЬЗОВАТЕЛЬ ** \ AppData \ Roaming

И переустановите узел

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