Подтвердить что ты не робот

Node.js и npm не имеют доступа к сети в Windows 7 64 бит

ПРИМЕЧАНИЕ: всем, у кого есть эта проблема, я пробовал все предложения и все исследования. В конце концов я отформатировал жесткий диск и переустановил окна. Несмотря на то, что это была новая установка с самого начала, некоторые установки Windows просто не работают вообще с node. Насколько я знаю, это единственное решение.

Итак, для начала я уже нашел аналогичный вопрос: Основные node.js примеры, не работающие в Windows 7, которые, похоже, являются одной и той же проблемой, но решения нет. Я также нашел сообщения в форуме онлайн без каких-либо решений, но многие люди публиковали те же проблемы.

Node.exe и npm оба не имеют доступа к сети. npm install отправляет запросы на получение и никогда не получает ответа. Node скрипты, которые идут на доступ к mongodb, никогда не отправляют запрос на соединение. Я скопировал этот код с моей старой машины на новую. Это было первое, что я поставил на новую машину. Старая машина запускала Windows 7 64 home premium и новую версию Windows 7 64. Я пробовал все режимы совместимости, запускался как администратор, отключил брандмауэр Windows, антивирус еще не был, я удалил/переустановил, и я попытался изменить версии, хотя версия с старого компьютера на новый одинакова. Я искал stackoverflow и Интернет и нашел других с проблемой, но никаких решений. У меня есть виртуальный ящик ubuntu vm, который может успешно запускать Node, но я хотел бы иметь возможность запускать его без vm, если это возможно, и я не могу найти причину проблем. Даже OEM-программное обеспечение между двумя компьютерами почти идентично, поскольку старый был чужеродным m15x, а новый - m14x. Любая помощь приветствуется.

изменить:

Я использую последнюю версию (0.6.10). После запуска npm install и зависания я использовал netstat и получил следующие результаты в node.exe:

 [node.exe]
   TCP    10.20.21.225:49690     ec2-107-20-159-167.compute-1.amazonaws.com:https                       ESTABLISHED
  [node.exe]
   TCP    10.20.21.225:49691     nuq04s08-in-f31.1e100.net:https  TIME_WAIT
   TCP    10.20.21.225:49692     fa-in-f94.1e100.net:https  TIME_WAIT
   TCP    10.20.21.225:49693     nuq04s08-in-f19.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49696     nuq04s08-in-f25.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49702     nuq04s08-in-f6.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49703     nuq04s08-in-f25.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49704     nuq04s08-in-f25.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49706     nuq04s08-in-f26.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49707     nuq04s08-in-f26.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49708     nuq04s08-in-f26.1e100.net:http  TIME_WAIT
   TCP    10.20.21.225:49709     nuq04s08-in-f26.1e100.net:http  TIME_WAIT

Теперь, когда я запускаю пример сервера на домашней странице node.js, я не могу получить мир привет в браузере, однако соединение находится в netstat:

  [node.exe]
   TCP    127.0.0.1:1337         Robbie-PC:49805        ESTABLISHED
  [node.exe]
   TCP    127.0.0.1:7789         Robbie-PC:49158        ESTABLISHED

но когда я немного подожду, это изменится на:

  [node.exe]
   TCP    127.0.0.1:1337         Robbie-PC:49805        CLOSE_WAIT
  [node.exe]
   TCP    127.0.0.1:7789         Robbie-PC:49158        ESTABLISHED

edit 2:

поэтому я попытался отключить все другие подключения.. не повезло. Затем я попытался использовать отладчик в eclipse, даже eclipse не смог найти трансляцию vm debugger на порту 5858. Это буквально просто не имеет связи. Поэтому, если у кого-то нет других идей, кроме протирания жесткого диска и переустановки окон, я думаю, что этот компьютер возвращается к чужой программе как DOA. давайте надеемся, что у следующего нет этой проблемы. Спасибо всем, кто предлагал вещи в комментариях и всем, кто пытался расследовать решение для меня.

4b9b3361

Ответ 1

Если вы находитесь за корпоративной сетью, которая, вероятно, нуждается в настройке прокси-сервера на node для настройки. Он работает примерно так.

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

Замените имя прокси-сервера на то, что использует ваша сеть.

Ответ 2

С той же ОС у меня нет этой проблемы, но у меня уже проблемы с загрузкой некоторых пакетов (я хотел node mysql). Чтобы исправить это, мне пришлось загрузить источник из github, извлечь его в репозиторий node_modules и переименовать его как "mysql".

Теперь я могу сделать var mysql = require('mysql');

Ответ 3

Возможно, даже попробуйте cygwin. Это шаг назад и от чистой виртуальной Linux, и от ее запуска для работы в Windows 7. Лично у меня есть как Cygwin, так и Windows 7 для установки node.js на 64-битной (хотя и не конечной).

Мне просто пришлось установить node в каталог за пределами "программных файлов" из-за защиты от записи и настроек безопасности. Все равно придется запускать консоль в качестве администратора, но чтобы убедиться, что все работает. У Cygwin нет ни одной из этих проблем.