npm застревает в fetchMetadata -> сеть

Мой npm часто зависает, будь то установка npm из package.json или отдельных пакетов.

Прямо сейчас я даже не могуsudo npm install node-inspector -g

я используюnode 6.2.1, npm 3.9.5 наubuntu 16.04

npm cache clear не помогло. Установка занимает несколько часов или не удалась.

 Mikki17 мая 2017 г., 09:22
ты решил это?
 Dushyant Bangal17 мая 2017 г., 13:11
Это была проблема, связанная с сетью моей компании. когда я переключился на гостевую сеть, все работало нормально. Не знаю, что случилось. Но да, теперь он работает без каких-либо исправлений
 Dushyant Bangal17 мая 2017 г., 13:12
Я оставил вопрос открытым, потому что есть много разных причин для этой проблемы, а также множество исправлений.

Ответы на вопрос(10)

У меня та же проблема. Прежде всего попробуйте запуститьnpm install с-verbose флаг. Это может помочь вам определить вашу проблему.

Эта команда сказала мне, что у меня была проблема с туннельным сокетом:

туннельный сокет не может быть установлен, причина = запись EPROTO 101057795: ошибка: 140770FC: процедуры SSL: SSL 23_GET_SERVER_HELLO: неизвестный протокол: openssl \ ssl \ s23_clnt.c: 794:

После этого я погуглил ошибку и нашелнить на github об этой проблеме. Проблема была в прокси: предварительно настроилHTTP_PROXY переменная окружения и после удаления затем переменная окруженияnpm install завершено без каких-либо ошибок.

 Vasi13 авг. 2017 г., 13:21
Крутой мужик! Выявленная проблема по -verbose флагу. Это ошибка по доверенности. Я изменил свой прокси на ноль, теперь работает нормально.

Для меня это были двойные временные каталоги в Windows.

Откройте командную строку и введите:

echo %TEMP%

Вы должны получить путь к одному каталогу. Если вы получаете несколько каталогов (я получил C: \ Users \\ AppData \ Local \ Temp; C: \ xampp \ php), это может быть проблемой. Вы можете исправить это с помощью этой команды:

SET TEMP="<correct path to temporary directory>"

где<correct path to temporary directory> может быть первым путем (перед точкой с запятой, это означает,C:\Users\<user>\AppData\Local\Temp в моем случае).

 Tseng25 июл. 2017 г., 10:37
Хороший. Это смутило коллегу на лучшую половину дня
 SorinV17 апр. 2019 г., 10:44
Это исправило это для меня на Windows

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

По какой-то странной причине это была проблема моего провайдера. Он работал нормально, когда я попробовал другой провайдер.

 Dushyant Bangal22 мая 2018 г., 12:33
Прежде чем кто-то пойдет дальше и проголосует против, обратите внимание, что я тот, кто опубликовал вопрос, и это то, что сработало для меня. Другие ответы определенно полезны для многих людей, но это то, что сработало для меня.

ю узла, необходимую для проекта.

Моему проекту нужен узел>=v4.3 and <=v5.

1) Проверьте версию узла, используемуюnvm ls

2) Использованиеnvm use [version] или же установите конкретную версию. если нет

У меня была такая же проблема, с несколькими различными установками, висящими наfetchMetaData, включая установкуyarn упомянутое выше. Я нахожусь наMac и решил это обновлениемnpm следующее:

npm install [email protected] -g

Так что если вы столкнулись с этой проблемой наMac, затем попробуйте обновить и посмотреть, решит ли это вашу проблему.

 SeanMC02 мая 2019 г., 15:31
Это сделало это для меня. Просто обновив npm, после его установки

Проверьте, есть ли проблемы с прокси, если вы используете какие-либо. Вы также можете попробовать установить конечную точку npm вручную:

npm config set registry="http://registry.npmjs.org"
 Konstantin Azizov29 дек. 2016 г., 22:13
@ Brett84c, спасибо за отзыв, я обновил свой ответ!
 Konstantin Azizov10 июн. 2018 г., 22:20
Если файл .npmrc не представлен, npm прочитает значения из глобальной конфигурации, которые могут быть установлены командой в моем ответе, см.приоритет npm-config
 Brett84c29 дек. 2016 г., 21:57
Я должен был поставить "http: //" перед URL-адресом реестра, но это сработало, спасибо!
 myDoggyWritesCode12 февр. 2017 г., 16:07
Это не помогло мне. Пришлось использовать пряжу установить
 prazor909 июн. 2018 г., 14:53
Можете ли вы объяснить, когда этот конфиг будет изменен. Я имею в виду, что в моем случае один из моих репозиториев имеет .npmrc, который указывает на другой реестр, и там работает npm install. но когда я перешел на другой репо, где нет .npmrc, он должен получитьregistry.npmjs.org, право? Если я не ошибаюсь

Для большинства людей проблема может быть связана с настройками прокси и может быть решена с помощью вышеупомянутых решений.

Для меня проблема была в другом. У меня есть приватные зависимости репозитория, которые размещены в Bitbucket и разрешаются через "git + ssh: //[email protected]/", который в качестве интерна использует SSH для получения репозитория.

По умолчанию SSH предпочитает IPv6, если DNS получает запись AAAA и если она есть на хосте. Поскольку Bitbucket имеет запись AAAA, SSH выполняется через IPv6. Но мой провайдер не поддерживает IPv6 (Вы можете проверить, поддерживает ли ваш провайдер IPv6, пройдя тестирование вhttp://ipv6-test.com/).

Чтобы решить эту проблему, вы можете заставить клиента SSH использовать IPv4 вместо IPv6.

ЗадаватьAddressFamily inet в/etc/ssh/ssh_config и перезапустите клиент SSH.

В Ubuntu перезапустить использование клиента SSHsudo service ssh restart

Вы настроилиполномочие? Посмотрим, вернет ли это что-то:

> npm config get https-proxy
> npm config get proxy

Если у вас настроены значения, они могут не совпадать с правильными. Если вы не должны использовать прокси, вы можете удалить их:

> npm config delete https-proxy
> npm config delete proxy

Docs:https://docs.npmjs.com/cli/config

После примерно 3 часов отслеживания нашей проблемы все сводилось к следующему:

npm config rm proxy
npm config rm https-proxy
 codeHunter29 мая 2019 г., 12:20
TQSM приятель! Я был поражен этим с 4 часов подряд! и теряю надежду, но ваш ответ решил мою проблему! тк много :)

пытатьсяпряжа установщик вместо npm:

sudo npm install -g yarn
yarn install

Я нашел его гораздо более устойчивым к таким проблемам.

 Lionel Chan29 янв. 2018 г., 04:09
Просто для тех, кто видел это, предпочтительный способ установки пряжи здесь:yarnpkg.com/en/docs/install
 shijin28 нояб. 2018 г., 19:10
как будет работать эта команда, если npm install итерация не работает?
 yegeniy28 апр. 2017 г., 21:06
@ssethupathi объяснил это более подробно. По сути, yarn - это альтернативная утилита CLI для npm. Вы все еще можете использовать свойpackage.json файл для объявления ваших зависимостей, и эти зависимости все равно будут установлены вnode_modules.

Ваш ответ на вопрос