我发现许多答案就像一个问题,但所有这些答案都无法解决我的问题。以下是我安装的版本:
node 0.10.31
npm 1.4.23
node-gyp 0.10.31
bcrypt 0.7.8
我在package.json "bcrypt": "0.7.x"
中有依赖。以下是我的一步一步:
npm install
gyp ERR! stack Error: Can't find Python executable "python", you can
set the PYTHON env variable.
我必须安装Python 2.7。*
npm install
MSBUILD : error MSB3428: Could not load the Visual C++ component
"VCBuild.exe". To fix this, 1) install the .NET Framework 2.0 SDK,
2) install Microsoft Visual Studio 2005 or 3) add the location of the
component to the system path if it is installed elsewhere.
我必须安装Visual Studio 2008(Professional),这是我手中唯一的。我添加了PATH变量C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages
,其中 vcbuild.exe 。
npm install
VCBUILD : error Message: [D:\...\node_modules\bcrypt\build\binding.sln]
VCBUILD : System error : -2147154687. [D:\...\node_modules\bcrypt\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe`
failed with exit code: 1
似乎使用.NET 4并且失败了。我在C:\Windows\Microsoft.NET\Framework
中有六个.NET框架文件夹,它似乎使用了最新的文件夹:
npm install --msvs_version=2008
与(2)相同的错误。
npm install --msvs_version=2012
错误改变了一点。
D:\...\node_modules\bcrypt\build\bcrypt_lib.vcxproj(18,3): error MSB4019: The imported
project "D:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the
<Import> declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe`
failed with exit code: 1
D:\...\node-proj>node-gyp rebuild --msvs_version=2008
'node-gyp' is not recognized as an internal or external command,
operable program or batch file.
对此有什么想法吗?
答案 0 :(得分:6)
我关注the Windows installation step for node-gyp并安装Microsoft Visual Studio C++ 2010 Express解决了问题,除了一些警告。我确实看到了在控制台消息中创建的库。
构建过程似乎在寻找由Visual Studio C ++ 2010 Express安装的[Drive]:\Program Files\Microsoft Visual Studio 10.0\VC\vcpackages\vcbuild.dll
。
首先我安装了Microsoft Visual Studio C++ 2012/13 for Windows Desktop,这是Windows7 / 8的要求之一。 但它实际上并不起作用,对Windows 7来说没有必要。
Windows 7 32位的node-gyp
要求(Windows 7/8 64位可能有不同的要求):
这不仅是bcrypt
的要求,也是需要使用node-gyp构建的所有节点模块的要求。如果检查模块的配置文件,您将看到其要求,例如,您可以检查以下文件:
\node_modules\bcrypt\build\binding.sln
\node_modules\bcrypt\build\config.gypi