2013-03-14 1 views
17

Я новичок в Node и NPM. Я использую узел v0.10.0 и когда я бегу НПМ установить Socket.io команду я получаю следующее сообщение об ошибке:Не удается установить socket.io на Windows 7

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] 

Я думаю, это ошибка сборки, так что я потратил кучу времени погуглить и обновление моего 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;

того же ошибку с этим путем. Есть идеи?

+0

делает вашу работу по установке? Я часто получаю предупреждения, которые не являются реальными проблемами в Windows. – outside2344

+0

Да, несмотря на то, что сообщения socket.io работают. – landland

ответ

2

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

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

+1

В основном npm install -g работает просто отлично, но для меня это не получилось на socket.io требование «ws». Запуск CMD в качестве администратора и повторная установка заставили его работать. –

+0

Удивительный, я так рад, что он сработал! Nowwwww ... как «ответ на этот принятый ответ») – Jeremythuff

+0

отлично, запустить CMD в качестве администратора - это решение! благодаря! – Kakitori

2

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

(Довольно-много-полное извлечение из ошибок ниже, в пользу поисковиков)

Ошибки, казалось, связанных с node-gyp, который я не смог установить автономные и found some notes что выручили:

Понадобится:

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

  • Я удалил 10.0. [Что-то> 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] 
10

I Searched far and wide с аналогичной проблемой, пытающейся установить npm.И.О.

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

Я кончался установки этой переменной среды:

set GYP_MSVS_VERSION=2013 

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

Easy действительно: -/

+0

2012 работал на меня – setec

5

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

call "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\Setenv.cmd" /Release /x64

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

npm install socket.io

Более подробная информация here

+0

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

+0

Как сделать этот «звонок», пожалуйста? Спасибо. –

+0

Ray C Lin, вы можете просто вставить команду в оболочку Windows. – user2961443

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

  • Нет связанных вопросов^_^