17

Node.js と 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]

これはビルド エラーだと思うので、Windows SDK、Visual Studio、.Net Framework などを Google で検索して更新するのにかなりの時間を費やしました。何らかの形で、上記のエラーが発生します。このリンクhttps://connect.microsoft.com/VisualStudio/feedback/details/713415/erroneous-windows-sdk-x64-compilation-warningによると、私は x64 マシンを使用しているため、警告が間違っている可能性があります。winsock2.h が C:\Program Files\Microsoft SDKs\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;

このパスと同じエラー。何か案は?

4

4 に答える 4

5

Windows 7 x64 でのノードのインストールに問題があります。基本的に、msbuild でソリューションをビルドするときに、プラットフォーム ツールセットを明示的に指定する必要があります。これが私のために働いた解決策です:あなたの端末で実行してください:

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

次に実行します

npm install socket.io

詳細はこちら

于 2014-10-09T17:53:42.173 に答える
2

SO管理者としてシェルを実行しているという私のコメントにもかかわらず、私はまだ管理者としてシェルを実行していた別のマシンでこの問題に遭遇しました。

(検索エンジンのために、エラーのかなり完全な抜粋を以下に示します)

エラーはnode-gyp、スタンドアロンをインストールできなかったことに関連しているようで、役立つメモがいくつか見つかりました。

必要なもの:


  • 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]
于 2013-11-23T03:16:48.483 に答える