Nvm-windows: Не удалось установить последний пакет npm

Созданный на 13 дек. 2019  ·  6Комментарии  ·  Источник: coreybutler/nvm-windows

Убедитесь, что вы рассмотрели общие проблемы и существующие проблемы, прежде чем отправлять новую проблему.

Если это вопрос о том, как использовать NVM4W, используйте stackoverflow .

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

Моя среда

  • [ ] Windows 7 или более ранние версии (на самом деле не поддерживается из-за EOL — подробности см. в вики)
  • [ ] Windows 8
  • [ ] Windows 8.1
  • [х] Виндовс 10
  • [ ] Windows 10 IoT Базовая
  • [] Windows Server 2012
  • [ ] Windows Server 2012 R2
  • [] Windows Server 2016

  • [ ] Моя установка Windows не на английском языке.

Я использую версию NVM4W:

Запустите nvm version , если вы не знаете.

1.1.7.

Моя проблема связана с (отметьте только те, которые применимы):

  • [ ] настройки.txt
  • [ ] поддержка прокси (Вы пробовали версию 1.1.0+?)
  • [ ] Поддержка 32 или 64 бит (вы пробовали версию 1.1.3+?)
  • [ ] Экранирование символов (Вы пробовали версию 1.1.6+?)
  • [ x] Стандартная среда оболочки (терминал/powershell)
  • [ ] Нестандартная среда оболочки (Cmder, Hyper, Cygwin, git)

Ожидаемое поведение

Я ожидаю, что npm-версия-окна

Фактическое поведение

PS C:\WINDOWS\system32> npm install npm-windows-upgrade -g
C:\Program Files\nodejs\npm-windows-upgrade -> C:\Program Files\nodejs\node_modules\npm-windows-upgrade\bin\npm-windows-upgrade.js

  • [email protected]
    добавлено 72 пакета от 51 участника за 8.124 с.
    PS C:\WINDOWS\system32> npm-windows-upgrade -p -v последняя версия
    npm-windows-upgrade v6.0.1
    Проверенная система для установки npm:
    Согласно PowerShell: C:\Program Files\nodejs
    Согласно npm: C:\Program Files\nodejs
    Решил, что npm установлен в C:\Program Files\nodejs
    Обновление нпм...

Обновление npm (запасной метод)...

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

Распространенной причиной является попытка «npm install npm» или «npm upgrade npm». На сегодняшний день единственным решением является полное удаление, а затем переустановка Node.js. Небольшой учебник можно найти на странице https://github.com/felixrieseberg/npm-windows-upgrade#usage.

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

Информация об отладке:

узел: 12.6.0 | v8: 7.5.288.22-узел.14 | уф: 1.30.1 | zlib: 1.2.11 | Бротли: 1.0.7 | ары: 1.15.0 | модулей: 72 | нгhttp2: 1.38.0 | число: 4 | ллhttp: 1.1.4 | http_parser: 2.8.0 | OpenSL: 1.1.1c | клдр: 35.1 | ОИТ: 64,2 | тц: 2019a | Юникод: 12.1 | ОС: Win32 x64 | Название ОС: Microsoft Windows 10 Корпоративная
Версия ОС: 10.0.17134 Н/Д Сборка 17134

Действия по воспроизведению проблемы:

Я хотел бы получить последний пакет npm 6.13.4 [без проблем с безопасностью] с версией узла 12.13.1.

Самый полезный комментарий

Это сработало для меня, но я не буду клясться, что это ответ для всех:

  1. Используйте nvm install для настройки установки узла.
  2. Выполните nvm use , чтобы установить текущую версию.
  3. Откройте его текущую версию в проводнике. (В PowerShell это можно сделать с помощью explorer.exe $env:NVM_SYMLINK . Из командной строки это explorer.exe %NVM_SYMLINK% .)
  4. Удалите файлы npm, npx, npm.cmd и npx.cmd. Я не думаю, что там был какой-либо файл ps1, когда я его устанавливал, но это так, удалите и его. Осторожный. Я не знаю всех последствий этого удаления, если обновление не удастся. Вы должны либо хранить их в корзине, чтобы иметь возможность восстановить их, либо быть готовыми выполнить полную переустановку версии Node в случае сбоя.
  5. Теперь, когда скрипт удален, нам нужно еще немного вызвать npm вручную. Вот команда PowerShell для вызова команды обновления:
    node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm

Это сработало для меня, потому что, когда я запускал npm install -g npm , ошибка, которую я получал, заключалась в том, что файлы сценариев верхнего уровня находились «вне» установки, что, как я полагаю, означает, что они не были распознаны как управляемые ею. Я не знаю, почему npm думал, что не контролирует эти файлы, но как только они исчезли, он обновился просто отлично.

Все 6 Комментарий

https://nodejs.org/en/blog/vulnerability/december-2019-security-releases/ пытается получить последнюю версию npm для этой проблемы безопасности.

Это сработало для меня, но я не буду клясться, что это ответ для всех:

  1. Используйте nvm install для настройки установки узла.
  2. Выполните nvm use , чтобы установить текущую версию.
  3. Откройте его текущую версию в проводнике. (В PowerShell это можно сделать с помощью explorer.exe $env:NVM_SYMLINK . Из командной строки это explorer.exe %NVM_SYMLINK% .)
  4. Удалите файлы npm, npx, npm.cmd и npx.cmd. Я не думаю, что там был какой-либо файл ps1, когда я его устанавливал, но это так, удалите и его. Осторожный. Я не знаю всех последствий этого удаления, если обновление не удастся. Вы должны либо хранить их в корзине, чтобы иметь возможность восстановить их, либо быть готовыми выполнить полную переустановку версии Node в случае сбоя.
  5. Теперь, когда скрипт удален, нам нужно еще немного вызвать npm вручную. Вот команда PowerShell для вызова команды обновления:
    node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm

Это сработало для меня, потому что, когда я запускал npm install -g npm , ошибка, которую я получал, заключалась в том, что файлы сценариев верхнего уровня находились «вне» установки, что, как я полагаю, означает, что они не были распознаны как управляемые ею. Я не знаю, почему npm думал, что не контролирует эти файлы, но как только они исчезли, он обновился просто отлично.

@myty Опять же, я не могу говорить за всех, но для меня npm-windows-upgrade с треском провалился. Его сообщение об ошибке было еще более загадочным и бесполезным, чем то, которое я получил от npm install -g npm . (Я не помню точное сообщение об ошибке; я думаю, что оно было очень общим.) Однако, возможно, мы столкнулись с другими проблемами.

Это тоже работает. #300 (комментарий)

Это работало для меня в прошлом, но теперь, пытаясь обновить npm с 6.13.4 до 6.13.6 (используя узел 12.16.0), я получаю следующую ошибку:

npm ERR! code EEXIST
npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver
npm ERR! Refusing to delete C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver: is outside C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\semver and not a link
npm ERR! File exists: C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\johns\AppData\Roaming\npm-cache\_logs\2020-02-18T20_00_16_440Z-debug.log

Кто-нибудь еще столкнулся с этой проблемой и смог решить? Я пробовал с --force, но та же ошибка.

У меня был установлен Nodist до nvm-windows. Он оставил файл .npmrc в домашнем каталоге ( %userprofile% ). Мне пришлось удалить его и снова попробовать команду nvm use , чтобы все исправить.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги