После запуска nvm install latest
устанавливается версия узла 12.5.0
и версия npm v6.9.0
.
После команды установки ошибки не отображаются:
возникает следующая проблема:
Папка node_modules/ пуста:
Просто установите версию и проверьте, что происходит. не знаю точно, как это работает, но, похоже, это связано с новым изменением URL-адреса проекта npm/cli.
Вы на 100% уверены, что используете 1.1.7? Я спрашиваю, потому что изменение npm/cli было жестко запрограммированной проблемой URL, которая существовала в 1.1.6 и была исправлена в 1.1.7.
к сожалению, на 100% уверен @coreybutler
хахаха
вот мой скриншот версии:
Мой друг только что установил nvm 1.1.7 на свою машину, и я тоже обновил свою, чтобы получить последнюю версию npm, но, к сожалению, безуспешно.
Извините, пришлось спросить :-)
Я не могу воссоздать это.
Обычно это сводится к а) разрешениям, б) проблемам с сетью во время загрузки. Иногда проблема с сетью возникает на удаленном сервере, особенно когда выпущен новый выпуск node/npm. Это сообщение об ошибке появляется постоянно, но по разным причинам, что затрудняет определение реального источника проблемы.
Чтобы воспроизвести эту проблему, мне пришлось удалить Node и NPM и выполнить новую установку, используя только NVM, после чего я получаю сообщение об ошибке.
Я заметил, что в процессе установки материалы, связанные с NPM, загружаются во временную папку, но позже они никуда не перемещаются, а временная папка удаляется.
Даже запуская powershell от имени администратора, я не думаю, что это связано с разрешением.
Во время установки:
После установки:
@gsicoli Вы правы, что npm загружается во временный каталог, а затем перемещается. Если операция перемещения завершится неудачно, это приведет к удалению каталога без перемещения npm туда, где он должен быть (т.е. такое поведение).
Выдается запрос при запуске nvm use
или nvm install
? Запуск от имени администратора не обязательно означает, что учетная запись имеет повышенные разрешения. Как правило, Windows предложит вам повысить разрешения. Для учетной записи администратора он предоставляется автоматически, но по-прежнему требует, чтобы пользователь сказал «ОК».
Он запрашивает, когда я не работаю от имени администратора. Если я запускаю от имени администратора, он не запрашивает... Тем не менее, эффект тот же.
Столкнулся с той же проблемой в Windows 10. Если есть какая-либо информация, которую я могу предоставить, буду рад помочь!
Однако это не похоже на определенную версию узла; папка node_modules всегда пуста для версий, которые я пытаюсь установить. У меня запрашиваются повышенные разрешения.
Есть такая же проблема. Есть ли обходной путь?
Есть такая же проблема. Это моя попытка и работает для меня:
node_modules
, если он уже существует в каталоге version drectory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).node_modules
в каталог version directory
, указанный на предыдущем шаге.Есть такая же проблема. Итак, я применил обходной путь от @liuwenzhuang. Действительно, теперь npm
работает нормально. Однако я получаю следующую ошибку на npm up -g
Отключение McAfee и запуск установки из консоли администратора исправили это для меня.
@helzgate : для меня это не имеет смысла. Мои вирусные журналы ничего не показывают.
Можете ли вы предоставить журнал вашей деятельности McAfee?
Я могу подтвердить это. При включенном mcafee npm распаковывается, но перемещение не выполняется без ошибок. Журналы McAfee вообще ничего не показывают. Отключение mcafee во время установки решает проблему.
@coreybutler Я знаю, что это не очень хорошее решение, но, видимо, распаковка работает, так можно ли распаковать напрямую в папку nodes_module/npm вместо того, чтобы распаковывать во временную папку и перемещать?
Я сталкиваюсь с той же проблемой, но, похоже, это происходит только при установке узла 6 (или это происходит из-за того, что я установил узел 6 после выполнения nvm install latest
?). Установка NPM зависает на неопределенный срок, и я сталкиваюсь с той же ошибкой npm-cli
, как указано выше.
У меня установлен McAfee Endpoint Security, но, поскольку это управляемый ПК в офисе, отключить его, чтобы проверить, не в нем ли проблема, невозможно. NPM продолжает зависать после 10 минут начала процесса установки. Нет ли способа изменить NVM, чтобы, по крайней мере, обнаруживать зависания или то, что процесс не завершен должным образом?
Обратите внимание, этот комментарий полностью работает! Было бы здорово, если бы это сделал установщик nvm
.
@matthew-dean То же самое и с McAfee. Хотя они неправильно определили мои разрешения, поэтому я могу отключить их. Я посмотрю, является ли это причиной проблемы, завтра, когда я вернусь на работу. Я бы не удивился; установщик пакетов dart сообщил об аналогичной проблеме при установке некоторого пакета (который также работал при загрузке во временный файл и последующем перемещении в другое место).
Да, это действительно проблема для меня! Там есть какая-то операция, которую McAfee Endpoint Security автоматически предотвращает.
Установка любой версии с активным McAfee => без npm
Установка любой версии с отключенным McAfee => npm включен и работает нормально
Упомянутая выше ошибка при выполнении npm update -g
также связана с McAfee? Или это побочный эффект обходного пути ?
Не думайте так. Для меня ничего не изменилось, отключил ли я McAfee или нет. Также обратите внимание, что по этой теме уже есть две проблемы ( более длинная и более короткая со сценарием, который, кажется, позволяет вам обновлять npm (я не тестировал его, но у него более 30 лайков)
Спасибо! Следуя улучшенной версии этого скрипта для bash . (Возможно, вам потребуется настроить местоположение nodejs
.) Добавьте его к вашему ~/.bashrc
и выполните npmup
в новом bash. Или сразу выполнить команды тела функции. Эта версия фактически выполняет обновление, а не (пере)установку каждый раз.
function npmup {
pushd /c/Program\ Files/nodejs > /dev/null
mv npm npm2
mv npm.cmd npm2.cmd
mv npx npx2
mv npx.cmd npx2.cmd
node node_modules/npm/bin/npm-cli.js up npm -g
mv -n npm2 npm
mv -n npm2.cmd npm.cmd
mv -n npx2 npx
mv -n npx2.cmd npx.cmd
rm -f npm2 npm2.cmd npx2 npx2.cmd
popd > /dev/null
}
Комментарий, на который я ссылался, был удален, извините за путаницу.
Используя 1.1.7, я столкнулся с той же проблемой, когда NPM не копировался из папки «temp» при выполнении новой установки Node.js + NPM с использованием NVM. Поскольку я использую корпоративный компьютер, я не могу провести тестирование с отключенным McAfee Endpoint Security.
Однако сегодня я собрал NVM из «мастера» и убедился, что он может правильно установить с нуля без проблем.
Обратите внимание, что проблема заключается не только в том, что NPM не удается установить, но и в том, что утилита командной строки NVM не может _распознать_, что NPM не был установлен. IMO, установщик не выполняет необходимый шаг проверки наличия каталога, что позволит избежать некоторой путаницы в этой проблеме.
@hind3nbug То же самое и для меня: McAfee Endpoint Security нельзя отключить на корпоративном компьютере, поэтому действительно нужен правильный способ установки NPM. Должен быть какой-то способ сделать это.
Используя 1.1.7, я столкнулся с той же проблемой, когда NPM не копировался из папки «temp» при выполнении новой установки Node.js + NPM с использованием NVM. Поскольку я использую корпоративный компьютер, я не могу провести тестирование с отключенным McAfee Endpoint Security.
Однако сегодня я собрал NVM из «мастера» и убедился, что он может правильно установить с нуля без проблем.
Можешь поделиться своей версией? Я не могу собрать nvm из исходного кода :(
@hind3nbug и @coreybutler... так проблема решена? а не вышла новая версия nvm? когда ожидается новая версия?
У меня был установлен Nodist до nvm-windows. Он оставил файл .npmrc
в домашнем каталоге ( %userprofile%
). Мне пришлось удалить его и снова попробовать команду nvm use
, чтобы все исправить.
Если бы это случилось со мной сегодня - удаление версии, а затем ее переустановка, похоже, решили проблему.
У меня был тихий сбой при установке npm.
Я подумал, что это может быть антивирусный сканер Windows, поэтому отключил его:
Странно теперь провал не молчит:
$ nvm install 12.12.0
Downloading node.js version 12.12.0 (64-bit)...
Complete
Creating C:\ProgramData\nvm\temp
Downloading npm version 6.11.3... Download failed. Rolling Back.
Rollback failed. remove C:\ProgramData\nvm\temp\npm-v6.11.3.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v12.12.0.
Please visit https://github.com/npm/npm/releases/tag/v6.11.3 to download npm.
It should be extracted to C:\ProgramData\nvm\v12.12.0
Вы запускали nvm on
после установки?
Должен ли я делать это каждый раз, когда устанавливаю новую версию Node.js?
Я использую nvm уже пару лет, и раньше мне никогда не приходилось делать nvm on
.
Я решил закрыть этот вопрос, потому что он начинает затрагивать ряд других вопросов. Давайте придерживаться одной проблемы в потоке. Откройте новую проблему, если ваша проблема не решена.
Попробую резюмировать на основе прочитанного:
1) npm будет установлен nvm. Если вы видите старый путь (npm/npm), вам необходимо обновить NVM4W до версии 1.1.7. Если у вас нет соответствующих разрешений, это не удастся. Такова природа и цель Windows, и поэтому существуют подсказки UAC.
2) Ваш антивирус может помешать NVM4W переместить файлы npm из временного каталога в его окончательное местоположение. Отключите его или сделайте исключение. См. пункт №3.
3) NVM4W был представлен всем основным антивирусным поставщикам и проходит (теоретически). Однако; антивирусное программное обеспечение постоянно меняет определения, что затрудняет отслеживание. Некоторые небрендовые антивирусы основывают свои определения на очень устаревших знаниях, наиболее сложной из которых является то, что некоторые программы полностью блокируются. Несколько лет назад в среде выполнения go было ложное срабатывание... давно уже был патч, и NVM4W в любом случае никогда не страдал от эксплойта... но некоторые антивирусные фирмы блокируют всю сигнатуру языка go.
4) Честно говоря, я никогда не выключаю и не включаю nvm. На самом деле вам не нужно этого делать, но он разработан, чтобы помочь протестировать вашу систему.
Есть такая же проблема. Это моя попытка и работает для меня:
- загрузите нужную версию узла с https://nodejs.org/en/download/releases/ в формате zip (или другом формате)
- Удалите каталог
node_modules
, если он уже существует в каталогеversion drectory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- разархивируйте файл из шага 1 и скопируйте каталог
node_modules
в каталогversion directory
, указанный на предыдущем шаге.- нпм работает
Я пробовал все в течение двух дней ... nvm, переустановка узла, перезапуск, изменение PATH, и это единственное, что действительно работало как шарм!
@coreybutler, могу ли я предложить добавить предложение @liuwenzhuang в readme.md или Common-Issues ?
Это может сэкономить чье-то время.
Привет, это мой случай, это сообщение в консоли дало мне понять об ошибке:
Посетите https://github.com/npm/npm/releases/tag/v6.14.4 , чтобы загрузить npm.
Переход на страницу https://github.com/npm/npm/ показывает, что репозиторий был перемещен и теперь находится по адресу https://github.com/npm/cli. То есть вам придется искать v6.14.4 в указанном репозитории.
Я также столкнулся с той же проблемой в Windows 10. И ее можно решить, отключив защиту McAffe.
Откройте McAffe Endpoint Security > Предотвращение угроз > Отключить защиту доступа и модуль сканирования при доступе (снимите флажок).
запустить > установить версию nvm
@coreybutler : я думаю, вы должны предоставить относительное уведомление, если npm не установлен должным образом.
Есть такая же проблема. Это моя попытка и работает для меня:
- загрузите нужную версию узла с https://nodejs.org/en/download/releases/ в формате zip (или другом формате)
- Удалите каталог
node_modules
, если он уже существует в каталогеversion drectory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- разархивируйте файл из шага 1 и скопируйте каталог
node_modules
в каталогversion directory
, указанный на предыдущем шаге.- нпм работает
Спасибо @liuwenzhuang Ваш комментарий действительно помог сегодня. уже несколько дней борюсь с этой ошибкой
Почему люди загружают node с веб-сайта для использования с nvm, разве не для этого предназначен nvm? 😉 можно вообще не использовать nvm.
У меня была ранее созданная фантомная символическая ссылка, которую nvm не мог удалить из-за разрешений оболочки. Я предполагаю, что это потому, что я использую nvm в оболочке git bash как пользователь без повышенных прав.
Я удалил его в командной строке администратора:
del /f c:\Program Files\nodejs
Затем сделал новую символическую ссылку на версию, которую я скачал с помощью nvm:
mklink /j "C:\Program Files\nodejs" "C:\Users\USER_NAME\AppData\Roaming\nvm\NODE_VERSION"
Я не пробовал nvm use NODE_VERSION
, но есть хороший шанс, что если вы удалите символическую ссылку перед ее вызовом, ссылка будет создана для вас (я предполагаю, что это ожидаемое поведение). Скорее всего, нужно будет использовать что-то вроде этого: https://github.com/imachug/win-sudo
Есть такая же проблема. Это моя попытка и работает для меня:
- загрузите нужную версию узла с https://nodejs.org/en/download/releases/ в формате zip (или другом формате)
- Удалите каталог
node_modules
, если он уже существует в каталогеversion drectory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- разархивируйте файл из шага 1 и скопируйте каталог
node_modules
в каталогversion directory
, указанный на предыдущем шаге.- нпм работает
Это сработало!!!
У меня также была такая же проблема с McAfee + Win 10 + PowerShell. - Большое спасибо @liuwenzhuang
Не знаю, почему это было закрыто, но у меня та же проблема, новая установка Windows 10, новая установка nvm, нет антивируса (кроме встроенного). Официальное исправление не для того, чтобы обойти ту самую причину, по которой я использую nvm, не так ли?
Этот комментарий работает для меня: https://github.com/coreybutler/nvm-windows/issues/475#issuecomment -538475058
Просто делаю nvm on
... Я думал, что это было «включено» сразу после установки 😄
Когда ваша локальная версия npm является последней, она может не установить ту же версию npm, когда вы устанавливаете последнюю ноду, произойдет ли это?
На одном из моих офисных компьютеров установлен McAfee, и я думаю, что он перестает устанавливать (копировать) папку npm. Но ниже шаг приходит как спасение для меня. Спасибо.
Есть такая же проблема. Это моя попытка и работает для меня:
- загрузите нужную версию узла с https://nodejs.org/en/download/releases/ в формате zip (или другом формате)
- Удалите каталог
node_modules
, если он уже существует в каталогеversion directory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- разархивируйте файл с шага 1 и скопируйте каталог
node_modules
в каталогversion directory
, указанный на предыдущем шаге.- нпм работает
Это работает от меня, как шарм!!
Я думаю, добавление шага тестирования для подтверждения успешной установки любой версии от
nodejs
доnvm-windows
будет очень полезно для экономии времени. Если это не удается, предоставьте некоторые вероятные идеи для ее решения.
@coreybutler думал?
Спасибо.
@Amitesh - я думаю, что проверка целостности - хорошая идея. Однако; У меня сейчас нет времени этим заниматься (см. вкладку обсуждения, первый пост). Я бы принял PR, если бы кто-то захотел добавить это.
Я все еще сталкиваюсь с проблемой, когда npm не распознается в Windows 10 для недавно установленного узла (10.23.0) с использованием nvm (1.1.7)
Я выполнил следующие шаги, но бесполезно
загрузите нужную версию узла с https://nodejs.org/en/download/releases/ в формате zip (или другом формате)
Удалите каталог node_modules, если он уже существует в каталоге версии, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
разархивируйте файл с шага 1 и скопируйте каталог node_modules в каталог версии, указанный на предыдущем шаге.
нпм работает
может кто-нибудь подсказать, как заставить это работать :( @coreybutler помогите, пожалуйста?
Просто нашел обходной путь, посмотрев комментарии, связанные с антивирусной защитой.
У меня Windows 10, 64-битная версия 1909 (сборка 18363.1139)
Самый полезный комментарий
Есть такая же проблема. Это моя попытка и работает для меня:
node_modules
, если он уже существует в каталогеversion drectory
, расположенном в каталоге установки nvm (например, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).node_modules
в каталогversion directory
, указанный на предыдущем шаге.