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

Не удается установить socket.io в Windows 7

Я новичок в Node и NPM. Я использую Node v0.10.0, и когда я запускаю команду npm install socket.io, я получаю следующую ошибку:

C:\Users\USER\AppData\Roaming\npm\node_modules\socket.io\node_modules\socket.io-
client\node_modules\ws>node "C:\Users\USER\AppData\Roaming\npm\node_modules\npm\
bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(29
7,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.
TargetFrameworkVersion or PlatformToolset may be set to an invalid version nu
mber. [C:\Users\USER\AppData\Roaming\npm\node_modules\socket.io\node_modules\so
cket.io-client\node_modules\ws\build\bufferutil.vcxproj]
bufferutil.cc
c:\users\user\.node-gyp\0.10.0\deps\uv\include\uv-private/uv-win.h(32): fatal e
rror C1083: Cannot open include file: 'winsock2.h': No such file or directory [
C:\Users\USER\AppData\Roaming\npm\node_modules\socket.io\node_modules\socket.io
-client\node_modules\ws\build\bufferutil.vcxproj]

Я предполагаю, что это ошибка сборки, поэтому я потратил кучу времени на Google и обновил свой Windows SDK, Visual Studio,.NET Framework и т.д. В той или иной форме я получаю вышеуказанную ошибку. Согласно этой ссылке https://connect.microsoft.com/VisualStudio/feedback/details/713415/erroneous-windows-sdk-x64-compilation-warning предупреждение возможно ошибочно, поскольку я нахожусь на машине x64. Я вижу, что winsock2.h находится в папке C:\Program Files\Microsoft SDK\Windows\v7.1\Include и включил это в свой путь. Мой путь содержит следующее:

C:\Program Files\nodejs\;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include;C:\Program Files\Debugging Tools for Windows (x64)\winext\manifest;C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64;

Такая же ошибка с этим путем. Любые идеи?

4b9b3361

Ответ 1

Я искал широко и широко с аналогичной проблемой, пытаясь установить npm socket.io

Отсюда https://github.com/LearnBoost/socket.io/issues/1151#issuecomment-16015421

Я установил эту переменную среды:

set GYP_MSVS_VERSION=2013

Это было после установки Windows SP1 (предварительная установка), затем установщик SP1, затем 101 обновление из окон, а затем VS 2013 Express.

Легко: -/

Ответ 2

Существует проблема с установкой node в Windows 7 x64. В основном, вы должны явно указать набор инструментов платформы при создании решения с помощью msbuild. Вот решение, которое сработало для меня: в вашем терминальном запуске:

вызов "C:\Program Files\Microsoft SDK\Windows\v7.1\bin\Setenv.cmd" /Release/x 64

затем запустите

npm install socket.io

Подробнее здесь

Ответ 3

Вы запускаете приглашение CMD с достаточными разрешениями? У меня были проблемы с установкой npm по случаю b/c этого.

Если это так, jst запускает CMD как администратор.

Ответ 4

SO, несмотря на мои комментарии относительно запуска оболочки в качестве администратора, я столкнулся с этой проблемой на другом компьютере, где я все еще запускал shell как администратор.

(Довольно сложный экстракт ошибок приведен ниже, в интересах поисковых систем)

Ошибки, по-видимому, связаны с node-gyp, которые я не смог установить автономно, и нашел несколько заметок, которые помогли:

Вам нужно:

  • Microsoft Visual Studio С++ 2010 (экспресс-версия работает хорошо)
    • У меня уже было это
  • Для 64-битных сборников node и собственных модулей вам также понадобится 64-разрядный SDK для Windows 7
    • Эта установка не срабатывала, и я обнаружил, что
    • _ SDK 7.1 НЕ устанавливается, если у вас есть новый vcredist_x86.exe, чем версия 10.0.30319 Visual С++ 2010 x86 Redistributable._ source

  • Я удалил 10.0. [something > 30319]
  • Установлен SDK 7.1
  • и тогда смог npm i -g node-inspector без проблем (socket.io - зависимость)

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(296,5): warning MSB800
3: Could not find VCInstallDir variable from the registry.  TargetFrameworkVersion or PlatformTools
et may be set to an invalid version number. [C:\Users\Michael Paulukonis\AppData\Roaming\npm\node_m
odules\socket.io\node_modules\socket.io-client\node_modules\ws\build\bufferutil.vcxproj]

  bufferutil.cc

c:\users\michael paulukonis\.node-gyp\0.10.5\deps\v8\include\v8stdint.h(33): fatal error C1083: Can
not open include file: 'stddef.h': No such file or directory [C:\Users\Michael Paulukonis\AppData\R
oaming\npm\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws\build\bufferutil.vc
xproj]

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(296,5): warning MSB800
3: Could not find VCInstallDir variable from the registry.  TargetFrameworkVersion or PlatformTools
et may be set to an invalid version number. [C:\Users\Michael Paulukonis\AppData\Roaming\npm\node_m
odules\socket.io\node_modules\socket.io-client\node_modules\ws\build\validation.vcxproj]

  validation.cc

c:\users\michael paulukonis\.node-gyp\0.10.5\deps\v8\include\v8stdint.h(33): fatal error C1083: Can
not open include file: 'stddef.h': No such file or directory [C:\Users\Michael Paulukonis\AppData\R
oaming\npm\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws\build\validation.vc
xproj]