Как мне обновить 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, чтобы исправить это, но только потому, что не понимал, насколько легко будет сделать это самому.

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

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

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

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

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

Бен Томсон
источник
0

Используйте инструмент npm-windows-upgrade , чтобы просто выполнить обновление. Шаги приведены по ссылке.

равтхиру
источник
0

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

Hamzox
источник
Есть много способов обновить. Однажды я потратил на это весь свой рабочий день. Если вы столкнулись с той же проблемой, воспользуйтесь моим решением.
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, и все заработало.

пользователь11582062
источник
0

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

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

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

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

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

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

Батусы
источник