24

I'm trying to install bycrpt via npm install using Windows 7 Ultimate x64. This is my install log:

D:\Dropbox\Projekte\RZ\Finance-Man-GUI\node_modules\bcrypt>node "C:\Program File
s\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node
-gyp.js" rebuild
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http 304 https://registry.npmjs.org/coffee-script
npm http 304 https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/hooks/0.2.1
npm http 304 https://registry.npmjs.org/mongodb/1.2.8
npm http 304 https://registry.npmjs.org/ms/0.1.0
npm http 304 https://registry.npmjs.org/sliced/0.0.3
npm http 304 https://registry.npmjs.org/muri/0.1.0
npm http 304 https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/crc/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http GET https://registry.npmjs.org/bytes/0.1.0
npm http GET https://registry.npmjs.org/formidable/1.0.11
npm http GET https://registry.npmjs.org/qs/0.5.1
npm http GET https://registry.npmjs.org/bson/0.1.5
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. [D:\Dropbox\Projekte\RZ\Finance-Man-GUI\node_modules\bcrypt\build\bcrypt_
lib.vcxproj]
  blowfish.cc
  bcrypt.cc
  bcrypt_node.cc
..\src\bcrypt.cc(232): warning C4267: '=' : conversion from 'size_t' to 'unsign
ed char', possible loss of data [D:\Dropbox\Projekte\RZ\Finance-Man-GUI\node_mo
dules\bcrypt\build\bcrypt_lib.vcxproj]
c:\users\timd\.node-gyp\0.8.18\deps\uv\include\ares.h(49): fatal error C1083: C
annot open include file: 'winsock2.h': No such file or directory [D:\Dropbox\Pr
ojekte\RZ\Finance-Man-GUI\node_modules\bcrypt\build\bcrypt_lib.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.e
xe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\
npm\node_modules\node-gyp\lib\build.js:255:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 6.1.7600
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\Dropbox\Projekte\RZ\Finance-Man-GUI\node_modules\bcrypt
gyp ERR! node -v v0.8.18
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! 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 their info via:
npm ERR!     npm owner ls bcrypt
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd D:\Dropbox\Projekte\RZ\Finance-Man-GUI
npm ERR! node -v v0.8.18
npm ERR! npm -v 1.2.2
npm ERR! code ELIFECYCLE
npm http 304 https://registry.npmjs.org/crc/0.2.0
npm http 304 https://registry.npmjs.org/qs/0.5.1
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/bson/0.1.5
npm http 304 https://registry.npmjs.org/formidable/1.0.11
npm http 304 https://registry.npmjs.org/bytes/0.1.0

> [email protected] install D:\Dropbox\Projekte\RZ\Finance-Man-GUI\node_modules\mongoos
e\node_modules\mongodb\node_modules\bson
> node install.js || (exit 0)

================================================================================

=                                                                              =

=  Attempting to build bson c++ extension                                      =

=   Windows: no build will be attempted as binaries are prepackaged            =

=   Unix: on failure the package will still install without the C++ extension  =

=                                                                              =

================================================================================

npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     D:\Dropbox\Projekte\RZ\Finance-Man-GUI\npm-debug.log
npm ERR! not ok code 0

I've already installed Python < v2.7 and .NET Framework SDK 2.0. I also downloaded a package called win7sdkx64.exe which was what i think the sdk for Visual Studio. I liked all of the dependencies in my Path as following:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\nodejs\;E:\Program Files\Java\jdk1.6.0_38\bin;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\ruby-1.9.2\bin;C:\Program Files (x86)\git\bin;C:\Program Files (x86)\git\cmd;E:\Program Files (x86)\Heroku\bin;C:\mongodb-win32-x86_64-2.2.2\bin;E:\xampp\mysql\bin;E:\xampp\apache\bin;E:\Python27;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages;C:\Program Files\Microsoft Windows Performance Toolkit\;E:\Program Files (x86)\openssl-0.9.8k_X64\bin

but i still get these errors. What can i try next? Install Visual Studio completly?

2
  • 1
    Best advice, make sure that you are reading the install documentation very closely. Specifically, make sure to have OpenSSL and Python2.7 installed. This is actually part of the node-gyp package that does part of the compilation. Commented Feb 25, 2013 at 6:38
  • Would you please have a look at my answer on Cannot find module 'bcrypt'? Commented May 2, 2020 at 11:58

6 Answers 6

56
+50

Ditch the bcrypt module and use a native JavaScript library instead. bcrypt-nodejs requires no compilation and provides almost the same functionality as the compiled bcrypt.

Sign up to request clarification or add additional context in comments.

4 Comments

this should be selected as answer, bcrypt-nodejs package is working on windows setups
thanks for this. changing to bcrypt-nodejs made deploying to Amazon Elastic Beanstalk finally work.
The performance is a lot slower though. github.com/adrianblynch/bcrypt-vs-bcrypt
@AdrianLynch .. and the comparison results tested on a Intel i7-3770 64 bit windows machine. bcrypt: 267ms, bcryptjs: 334ms, twin-bcrypt: 752ms, bcrypt-nodejs: 688ms. Bcryptjs seems like a great alternative.
37

This is correct way to install bcrypt over npm on Windows 7/8 x64

Pre:

Post:

Open "Developer Command Prompt for VS2012" as Administrator and test install:

npm install node-gyp -g
npm install bcrypt -g

p.s. My current Windows environment: win8 x64, node 0.10.x. All works nice.

UPDATE (2016): Note for Windows 10 x64

Visual Studio Express Desktop Edition solves node-gyp problem. Just install it and it will work for node-gyp.

Links:

3 Comments

I agree, using a different package is not the answer. I have bcrypt working on windows and resisted using bcryptjs or alternatives.
This is the ONLY solution that worked. After 4 hours of searching and testing
I had Visual Studio 2015 installed already. I've installed Python 2.7.whatever, then npm install node-gyp -g & npm install bcrypt -g went smooth. And I was able to run npm install in my project. Thanks!
1

How I resolved this.

My enviroment: Windows 8.1 x64, Node v0.12.2, npm v2.7.5

Install all components:

  1. Install latest 2.x Python, download Python (I downloaded 2.7.9)
  2. Install Visual Studio 2012/13 Express (or other)
  3. Install Windows SDK (for Windows 7 / 8)
  4. Install Win64 OpenSSL v1.0.1g, download it from here (I loaded "Win64 OpenSSL v1.0.2a" latest)

After all components is installed [Important]:

Open "Developer Command Prompt for VS2012" as Administrator

[for VS 2012] Go to

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools

[for VS 2013] Go to

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools

Execute command "VsDevCmd.bat"

Then you can execute these cmd:

npm install node-gyp -g
npm install bcrypt -g

And for me it worked (I have trouble to launch, because from beginning I no execute command "VsDevCmd.bat").

Note:

  1. If it still not executes try to Execute command in simple Command prompt opened as Administrator
  2. Or if bcrypt is installing successfully and executing npm install in your project it fails. Check bcrypt version in package.json. In my case there was "bcrypt": "0.7.x" dependency was specified, and I have newer bcryot version, so after changind it to "bcrypt": "0.8.x", everything installed successfully.

1 Comment

I was installing a different library on node and these steps worked for me.
1

For anyone still facing errors installing bcrypt in 2017.

An npm module has been released to handle Window's native dependency issues by Felix Rieseberg and other contributors. .NET Framework 4.5.1 is the only requirement for Windows 7 / Vista.

With admin privileges, run:

npm install --g --production windows-build-tools
npm install bcrypt

Comments

0

Looking at the error I see

c:\users\timd.node-gyp\0.8.18\deps\uv\include\ares.h(49): fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory

You'll need to fix that before you can move further. Presumably, you've either figured this out or moved on since it's been a month.

Take a look at winsock2.h, no such file or directory

2 Comments

The linked question suggests installing Windows 7 SDK. Both the asker and myself (came from Google) have the Windows 7 SDK installed and yet the error persists. Do you have any other ideas?
I also have the Windows 8/8.1 SDK installed on my windows 8, and still have the error...
0

At present, just use the bcryptjs library, it is more current and compiles just fine on Windows 10.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.