npm встановити зависання


82

Це мій package.json:

{
"name": "my-example-app",
"version": "0.1.0",
"dependencies": {

  "request": "*",
  "nano": "3.3.x",
  "async": "~0.2"
  }
}

Тепер, коли я відкриваю cmd і запускаю npm install, інсталяція зависає. Що я роблю не так?


6
Де це висить? Перед будь-яким виходом?
Ry-

1
Будь ласка, опублікуйте результати, які ви бачите під час запуску npm install.
Філіп Классен,

31
Спробуйте npm install --verboseі подивіться, чи зможете ви щось знайти.
Догберт

Ні, я отримую певний результат ...
user1090227

ouput: npm ПОПЕРЕДЖЕННЯ package.json my-example-app.1.0 README> файл md не знайдено!
user1090227

Відповіді:


124

У мене була та сама проблема. Причина - налаштований неправильний проксі-сервер, через що npm не зміг завантажити пакети.

Тож найкраще зробити, щоб побачити результат

$ npm install --verbose

та визначити проблему. Якщо ви ніколи не налаштовували проксі-сервер, можливі причини можуть бути

  • Дуже застаріла версія npm.
  • Проблема з підключенням до Інтернету.
  • Дозволів недостатньо для npm для зміни файлів.

9
npm config set loglevel infoа потім запустіть npm iзнову
gcb

npm ls --global --parseable --long --loglevel info
Ciasto piekarz,

Я зробив кілька повторень повторного запуску npm install --verbose, видаливши файл за останнім шляхом журналу, показаним перед зависанням. Нарешті установка підійшла до кінця.
Zon

Це мені це виправило. Я встановлював веб-пакет на OS X, і він завис під час процесу встановлення. Я дав йому час, а потім нарешті вбив його. Я запустив npm install --versbose(слідуючи вашій пораді), а потім повторно встановив веб-пакет. Все добре!
jamesnotjim

Встановлення yarnглобально за допомогою npmзапущеного yarn installвиправлення це виправило для мене (також yarnжурнали " There appears to be trouble with your network connection. Retrying...", але, принаймні, воно не зависає і продовжується до Done in 1035s.реєстрації).
Top-Master

42

У мене була та сама проблема. Я спробував a

npm config set registry http://registry.npmjs.org/

щоб вимкнути https. Я теж намагався

npm set progress=false 

щоб вимкнути індикатор виконання (повідомляється, що він уповільнює завантаження).

Проблема була у моєму мережевому драйвері. Мені просто потрібно було перезавантажитися, і відставання пішло.


4
+1 вимкнення https спрацювало для мене, коли мені --verboseсказали, що мій npm http fetch 200 https://registry.npmjs.org/some-project/-/some-project-X.X.X.tgz
терпить

2
я не знаю, що це був https або індикатор прогресу, але вимкнення обох справило свою роботу! Дякую!
M'Sieur Toph '

5
Це дійсно гарна ідея завантажувати код через http і потім запускати його? Можливо, код було змінено.
Марк

Вимкнення https вирішило все для мене. Після оновлення вузла до останньої версії він почав хаотично зависати під час встановлення. Зараз це чудово працює. Прикро, що повернення до http вирішило проблему, але принаймні це працює зараз.
Майкл Лі Кроуфорд,

21

Ви можете спробувати видалити package-lock.jsonта запустити npm installпотім. Це спрацювало для мене.


Де я можу знайти цей пакет?
Феліпе Мартінс Мело

1
Цей файл ви можете знайти у кореневій частині проекту .. того самого рівня package.json.
Франклін Хірата,

я npm installб застряг на одному пакеті кожного разу (навіть на обох машинах). Я видалив package-lock.json, а також node_modulesкаталог (щоб бути впевненим), і нарешті це вдалося :)
xorinzor

7

Я стою за корпоративним проксі, тому я зазвичай використовую проміжний проксі, щоб увімкнути автентифікацію NTLM.

У мене виникла проблема з установкою npm під час використання проксі CNTLM. З NTLM-APS (подібним проксі) зависання не було.


Дякую, у мене була та сама проблема і я нікуди не їхав. Це вперше CNTLM не працює для мене!
dcendents

Я також swithced для NTLM-АПС , і я побачив поліпшення для моїх npm installі meteor npm installкоманд.
Aaron C


2

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

На моїй машині, хоча проксі-сервер npm був встановлений правильно, він npm installвічно чекає, роблячи щось на зразок витяжки підвіконня . Повторні спроби npm installчекають назавжди на одній упаковці знову і знову.

Після довгого очікування npm installнадрукував повідомлення про помилку, вказуючи на те, що git намагався щось отримати.

Проблема зникла після налаштування git- проксі за допомогою наведеної нижче команди:

git config --global http.proxy https://proxy-server:port

Зверніть увагу , що httpsв значенні частини , http.proxyбез якої конфігурація не вступили в силу. Налаштування проксі-сервера (http / https / port) можуть відрізнятися для користувачів; отже, варто витратити трохи часу на експерименти з налаштуваннями проксі-сервера npm та git .


На жаль, існує маса проблем, які можуть спричинити це. Налаштування проксі, які ви не хочете, проект npm має занадто багато версій або якусь іншу проблему зі зв’язком. У моєму випадку я вирішив одну з цих проблем перезапуском. Я знаю, що це безглузде рішення, але якщо ви смикаєте волосся і ще не спробували цього, я б запропонував вам це зробити. Я працюю під керуванням Mac Os Mojave, і це не перший раз, коли у мене виникають проблеми з підключенням, коли доводиться перезапускати. Мабуть, щось пов’язане з SSL.
HotFudge, неділя,

2

Коли ваш ключ ssh захищений паролем, запустіть ssh-add. npm, мабуть, зависає десь і запитує ваш пароль.


2

У мене була та сама проблема в macOS, через деякий час, боручись і шукаючи, ця відповідь насправді вирішила проблему для мене:

npm config rm proxy
npm config rm https-proxy
npm config set registry http://registry.npmjs.org/

1

Цей метод працює для мене, коли npm блокує інсталяційний пакет для встановлення IONIC та ReactNative та інший пакет npm.

Ви можете змінити тимчасові:

npm config set prefix C:\Users\[username]\AppData\Roaming\npm\node_modules2

  • Змініть шлях у змінних середовища. Набір:

    C: \ Users [ім'я користувача] \ AppData \ Roaming \ npm \ node_modules2

  • Запустіть команду, щоб встановити ваш пакет.

  • Відкрийте провідник файлів, скопіюйте посилання:

    C: \ Users [ім'я користувача] \ AppData \ Roaming \ npm \ node_modules

    ok файл yourpackage.CMD створив ще одну папку, створену "node_modules2" у node_modules і містити вашу папку пакета.

  • Скопіюйте CMD-файл вашого пакунку до батьківської папки "npm" .

  • Скопіюйте папку пакета в батьківську папку "node_modules" .

  • Тепер запустіть:

    npm config set prefix C:\Users\[username]\AppData\Roaming\npm

  • Змініть шлях у змінних середовища. Набір:

    C: \ Users [ім'я користувача] \ AppData \ Roaming \ npm

Тепер пакет працює коректно з командним рядком.


1

Я просто вимикаю брандмауер свого вікна, і він працював у мене. Ви також можете спробувати різні версії npm.


0

Для тих, хто користується MacOS (я працюю в Mojave 10.14), мені допомогло: https://github.com/reactioncommerce/reaction/issues/1938#issuecomment-284207213

Ви б виконували ці команди

echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.conf
echo kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.conf
sudo sysctl -w kern.maxfiles=65536
sudo sysctl -w kern.maxfilesperproc=65536
ulimit -n 65536

Тоді спробуйте npm installще раз.


0

Я не впевнений, що ваша проблема викликана тією ж причиною, що і моя, але я теж відчував зависання "npm install" і зміг її виправити.

У моєму випадку я хотів встановити машинопис локально в проект:

npm i typescript --save-dev

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

Я виправляю це, попередньо видаливши встановлений глобально машинопис з глобальним прапором -g:

npm uninstall typescript -g

Після цього перша команда спрацювала! 👍


0

перевірте свої змінні середовища на наявність http і https

Існуючі записи можуть створювати деякі проблеми. Спробуйте видалити ці записи.

Знову запустіть "npm install".



0

Перевірте .npmrcфайл у registryзаписі (який ідентифікує сервер, що діє як кеш-пам’ять пакета).

Для мене npm installце зависло б частково, і це через старий / невідповідний сервер, перелічений у моєму .npmrcфайлі. Видаліть рядок або прокоментуйте його:

>cat ~/.npmrc
#registry=http://oldserver:4873

(І / або уточніть у свого ІТ / проекту, чому він не працює;)


0

встановити nvm (Node Version Manager) і знизити версію вузла з 14 на 12 вирішило проблему в моєму випадку



-32

* Спробуйте зробити sudo npm install.

* Якщо ви використовуєте github, можливо, у вас немає дозволу і вам потрібно створити відкритий ключ SSH і додати його до свого облікового запису налаштувань: ( https://help.github.com/articles/generating-ssh- ключі / )


3
Хороша практика полягає у тому, щоб якомога більше уникати судо, особливо для конкретних проектів (не загальносистемних) дій.
Ілля Кондрашов

Погодьтеся, але також хороша практика, коли ви використовуєте стек LAMP - це мати файли веб-додатків у каталозі / var / www. Отже, якщо ви не надаєте права користувача цим папкам, вам знадобиться sudo
Joaquin Diaz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.