Як оновити npm у Windows?


82

Коли я встановлюю node 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

Це моя остання відповідь sinse, це не дошка обговорень. Будь ласка, перевірте це 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 встановити -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прапором, тоді як ніхто з решти не працював
Овердравр

45

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

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

1
Для цього потрібна PowerShell. Що робити, якщо я не можу запустити скрипти PowerShell, завантажені з Інтернету, і я не маю привілеїв змінювати налаштування? Припускаю, мені потрібно створити сертифікат і підписати його. До сильного головного болю
рофрол

1
Я виконав усі кроки, і все, що я отримую, - це помилка: PS C: \ Windows \ system32> npm-windows-upgrade npm-windows-upgrade: Термін 'npm-windows-upgrade' не розпізнається як назва командлет, функція, файл скрипта або операційна програма. Перевірте написання імені, або якщо шлях був включений, перевірте правильність шляху та повторіть спробу. У рядку: 1 char: 1 + npm-windows-upgrade + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (npm-windows-upgrade: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Dan Csharpster

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

2
Виправлення: У мене була точно така ж проблема, як @DanCsharpster, дотримуючись усіх кроків для Powershell, як адміністратор, але ця проблема була виправлена ​​додаванням C: \ Users \ UserAdmin \ AppData \ Roaming \ npm до мого PATH, закриття Powershell і повторне відкриття як Адміністратор
Уеслі Масгров

Був у того самого питання, що і Ден та Уеслі. Вдалося вирішити це за допомогою підказки Веслі вище.
Loathian

15

Існує багато способів оновити ваш npmWindows

Шлях 1

  1. Відкрийте свою оболонку живлення від імені адміністратора та виконуйте наступні команди поетапно.
  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 через chocolatey, ви побачите такий шлях, як 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, і вона не оновлювалася незалежно від того, що хтось робив, включаючи видалення та перевстановлення NodeJ

=======

EDIT: Кращий спосіб встановити node та npm

На сьогоднішній день (27.06.2017) найкращим способом встановлення та управління node та npm є встановлення nvm (Node Version Manager), як пояснюється тут: 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

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. Якби це рішення працювало для вас, крок 4 спрацював би і npm -vпоказав би оновлену версію
  6. Повторно додайте вузол (у програмних файлах) / NPM (у даних програми - той, який встановлений у програмних файлах, повинен бути старим) до змінних вашого користувача та системного середовища

Примітка: Раніше я використовував автоматизований сценарій Microsoft для виправлення цього, але лише тому, що не розумів, як легко було б це зробити самому.


Ха-ха! Отже, я зробив оновлення, а потім потрібно було знизити рівень і знову натрапив на цю проблему ... Спочатку я написав цю відповідь для LTS 4.2.3, і вона працює для LTS 4.4.0
kayleeFrye_onDeck

0

Тож жодна з попередніх відповідей не вирішила для мене проблему, тому я подумав, що опублікую своє конкретне рішення, яке мені вдалося з’ясувати, переглянувши всі інші відповіді, щоб вони були справді корисними.

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

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

Я сподіваюся, що це допоможе комусь іншому, хто, можливо, пішов тим же шляхом, що і я.



0

Я спробував майже кожну відповідь, але жодна з них не працює по-моєму.
Ні npm-windows-upgrade не працював, ні npm не встановлював npm @ latest тощо тощо.
Для таких людей, як я, я запропоную вам, хлопці, завантажити останню програму встановлення з веб-сайту Node.js , нехай наявна версія каталогу вузлів буде на своєму місці, і нічого не змінюючи, просто встановіть програму встановлення msi, і ви отримаєте оновлену версію вузла .
У моєму випадку було оновлено node з 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 \ Роумінг \ npm (або% appdata% \ npm) • C: \ Users {User} \ AppData \ Roaming \ npm-cache (або% appdata% \ npm-cache) • C: \ Users {Користувач} .npmrc (і можливо, перевірити це без префіксу.)
  4. Перевірте свою змінну середовища% PATH%, щоб переконатися, що немає посилань на Nodejs або npm.
  5. Якщо він все ще не видалений, введіть where node в командному рядку, і ви побачите, де він знаходиться - видаліть це (і, можливо, батьківський каталог) теж.
  6. Перезавантажте, для доброї міри.

Потім встановив 6.11 nodejs.


0

Щоб оновити NPM на Windows 10

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

-3

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

Мені потрібно видалити вузол у:

C: \ Users ** ВАШ КОРИСТУВАЧ ** \ AppData \ Роумінг

І перевстановіть вузол

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.