sails.js + npm模块'bcrypt'未在Windows 10中安装

Vik*_*ngh 8 bcrypt node.js npm sails.js npm-install

我克隆了一个使用'bcrypt'模块的sails项目,当我尝试使用命令安装它时 -

npm install --save bcrypt  
Run Code Online (Sandbox Code Playgroud)

但它给了我以下错误!!!.我也使用npm版本@ 3.6.0和节点版本@ 5.6.0.Am无法解决此错误如下所示:

 > bcrypt@0.8.5 install C:\Users\vikas\Documents\batua-web\node_modules\bcrypt  
 > node-gyp rebuild  
 > C:\Users\vikas\Documents\batua-web\node_modules\bcrypt>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.  
 > C:\Users\vikas\Documents\batua-web\node_modules\bcrypt\build\bcrypt_lib.vcxproj(20,3): error MSB4019: The imported project "C:\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:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1  
> gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)  
> gyp ERR! stack     at emitTwo (events.js:100:13)  
> gyp ERR! stack     at ChildProcess.emit (events.js:185:7)  
> gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)  
> gyp ERR! System Windows_NT 10.0.10586  
> gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-     gyp.js" "rebuild"  
> gyp ERR! cwd C:\Users\vikas\Documents\batua-web\node_modules\bcrypt  
> gyp ERR! node -v v5.6.0  
> gyp ERR! node-gyp -v v3.2.1  
> gyp ERR! not ok  
> npm ERR! Windows_NT 10.0.10586  
> npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "--save" "bcrypt"  
> npm ERR! node v5.6.0  
> npm ERR! npm  v3.6.0  
> npm ERR! code ELIFECYCLE  
> npm ERR! bcrypt@0.8.5 install: `node-gyp rebuild`  
> npm ERR! Exit status 1  
> npm ERR!  
> npm ERR! Failed at the bcrypt@0.8.5 install script 'node-gyp rebuild'.  
> npm ERR! Make sure you have the latest version of node.js and npm installed.  
> npm ERR! If you do, this is most likely a problem with the bcrypt package,  
> npm ERR! not with npm itself.  
> npm ERR! Tell the author that this fails on your system:  
> npm ERR!     node-gyp rebuild  
> npm ERR! You can get information on how to open an issue for this project with:  
> npm ERR!     npm bugs bcrypt  
> npm ERR! Or if that isn't available, you can get their info via:  
> npm ERR!     npm owner ls bcrypt  
> npm ERR! There is likely additional logging output above.  
> npm ERR! Please include the following file with any support request:  
> npm ERR!     C:\Users\vikas\Documents\batua-web\npm-debug.log  
Run Code Online (Sandbox Code Playgroud)

小智 5

我尝试了另一种方法来修复Window 10上的这个问题.我希望它可以帮助你.
第1步:以管理员角色运行Powershell(在Powershell上单击鼠标右键并选择"以管理员身份运行")
第2步:安装本机插件构建工具Windows-Build-Tools

 npm install -g node-gyp
 npm install --g --production windows-build-tools
Run Code Online (Sandbox Code Playgroud)

第3步:将目录更改为当前项目
第4步:安装bcrypt

 npm install bcrypt
Run Code Online (Sandbox Code Playgroud)


Har*_*rry 4

从日志中我看到您使用的是Windows操作系统。

在node-gyp的github页面上,它说你需要有以下内容

  • 在 Windows 上:
    • Python([ v2.7.10][python-v2.7.10]推荐,v3.x.x支持)
      • 确保您有 PYTHON 环境变量,并将其设置为驱动器:\path\to\python.exe,而不是文件夹
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2013([Express][msvc2013]版本运行良好)
      • 如果安装失败,请尝试先卸载已安装的任何 C++ 2010 x64&x86 Redistributable
      • 如果您收到未安装 64 位编译器的错误,您可能还需要 [Windows SDK 7.1 的编译器更新]
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2013 for Windows Desktop([Express][msvc2013]版本运行良好)
    • Windows 10:
    • 所有 Windows 版本
      • 对于 64 位构建的节点和本机模块,您需要 [Windows 7 64 位 SDK][win7sdk]
      • 如果您的构建抱怨 WindowsSDKDir 未设置,并且您确定已经安装了 SDK,您可能需要运行以下命令之一:

对于其他操作系统,您可以访问链接查看它们的依赖关系。