2013-08-14 3 views
6

Я пытаюсь установить node_module но получить следующее сообщение об ошибке:не в состоянии установить node_modules

Например: НПМ установить хрюкать-предобработки

D:\grunt_pre>npm install grunt-preprocess 
npm http GET https://registry.npmjs.org/grunt-preprocess 
npm http GET https://registry.npmjs.org/grunt-preprocess 
npm http GET https://registry.npmjs.org/grunt-preprocess 
npm ERR! Error: connect ETIMEDOUT 
npm ERR!  at errnoException (net.js:901:11) 
npm ERR!  at Object.afterConnect [as oncomplete] (net.js:892:19) 
npm ERR! If you need help, you may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 

npm ERR! System Windows_NT 6.1.7601 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod 
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "grunt-preprocess" 
npm ERR! cwd D:\grunt_pre 
npm ERR! node -v v0.10.15 
npm ERR! npm -v 1.3.5 
npm ERR! syscall connect 
npm ERR! code ETIMEDOUT 
npm ERR! errno ETIMEDOUT 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  D:\grunt_pre\npm-debug.log 
npm ERR! not ok code 0 
+0

Можете ли вы попробовать получить через браузер следующий URL-адрес https://registry.npmjs.org/grunt-preprocess. Он возвращает данные? – Chandu

+0

@Chandu доступен по ссылке, хотя я все еще получаю ту же ошибку при тестировании. Это означает, что репозиторий github или npm сжимается. – DeanMWake

ответ

20

реестр URL указывает на https, вы можете попробовать изменить его

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

, а затем попытайтесь установить модуль. Возможно, вы находитесь за прокси-сервером, который блокирует безопасные соединения (https)

Если он не работает, возможно, вы можете вручную попытаться загрузить текущую версию модуля, который вы пытаетесь установить из here

И запустить команду npm install grunt-preprocess-2.3.0.tgz

1

Я получаю ту же самую вещь. Либо модуль существует, но фактический загрузочный репозиторий не работает или в настоящий момент существует проблема с npm. Повторите попытку через несколько дней или сообщите об этом в ссылку github.

Edit:

Ошибка вы получаете это тайм-аут от своего сервера или соединения. Это может быть из-за того, что вы находитесь за брандмауэром/прокси-сервером, который останавливает ваши подключения.

+0

FYI. Установка модуля работает отлично, репозиторий не работает. –

+0

@ Салман Я говорил конкретно о загрузке для grunt-preprocess – DeanMWake

+0

Да, я тоже это пробовал. 'grunt-preprocess' устанавливается отлично. Как может репозиторий быть включенным и не работать для одного модуля? –

0

Попробуйте ответить на @ Canmah. Если это не поможет проверить конфигурацию прокси-сервера.

Если есть прокси-сервер, обновите реестр npm, как указано ниже, а затем попробуйте установить модуль узла.

@ the command prompt update the 
npm config set proxy <proxyserver>:<port> 
+0

Это не «Canmah», между прочим. Это «Салман», который транслитерирует «Салман». –

0

Это может быть проблема с модулем бен-обертку, который не уважает прокси, и именно поэтому вы видите ошибку ETIMEDOUT при попытке загрузить.

Для решения проблемы вы можете установить переменную окружения HTTP_PROXY и/или HTTPS_PROXY.
Работает под управлением Windows/Linux.

The solved bin-wrapper issue.
Commit with fix.

Код кусок в исправление:

var proxyServer = process.env.HTTPS_PROXY || 
        process.env.https_proxy || 
        process.env.HTTP_PROXY || 
        process.env.http_proxy; 
2

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

npm set maxsockets 3 

Это устанавливает максимальное количество подключений 3, а не по умолчанию 50. CLI разрешает эту опцию с [email protected] См. this link для получения дополнительной информации.

Смежные вопросы