9

I am trying to Install bcrypt but getting errors. I have also tired to install older version but still getting same error.

I had tried to globally install dependancy NPM "node-gyp" but still getting errors.

Error screenshot https://screencast.com/t/ADSe6khYE6pm

bcrypt@3.0.3 install /Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt

node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.3/bcrypt_lib-v3.0.3-node-v64-darwin-x64-unknown.tar.gz
node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.3 and node@10.9.0 (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

gyp: No Xcode or CLT version detected!
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:239:12)
gyp ERR! System Darwin 17.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding" "--napi_version=3" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64"
gyp ERR! cwd /Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt
gyp ERR! node -v v10.9.0
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)
node-pre-gyp ERR! stack at ChildProcess. (/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:182:13)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:961:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:250:5)
node-pre-gyp ERR! System Darwin 17.5.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt
node-pre-gyp ERR! node -v v10.9.0
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/rigalpatel/rect-practice/vidly-api-node/node_modules/bcrypt/lib/binding --napi_version=3 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)
npm WARN vidly@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bcrypt@3.0.3 install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@3.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Environments

OS: Mac 10.13.4 Node 10.9.0 NPM 6.2.0

Thanks

Rigal
  • 611
  • 2
  • 6
  • 25

3 Answers3

16

It is because of the bcrypt module dependency node-gyp. I suggest you use a library bcryptjs which has no dependencies and more downloads.

npm i bcryptjs --save

and dont forget to uninstall

npm uninstall bcrypt --save 

On top of that brcypt has more dependecies like python 2.x. This will be also an issue on deployment also. It is better to use libraries with no dependencies.

bereket gebredingle
  • 12,064
  • 3
  • 36
  • 47
  • 1
    This is excellent, especially when you are using docker alpine images that don't have python installed. Thank you – Sam Jul 16 '20 at 20:01
  • 1
    Node: While bcrypt.js is compatible to the C++ bcrypt binding, it is written in pure JavaScript and thus slower (about 30%), effectively reducing the number of iterations that can be processed in an equal time span. – Karl Taylor Sep 02 '20 at 21:55
1

Try with below command

 npm install --save bcrypt-nodejs && npm uninstall --save bcrypt
Jabongg
  • 2,099
  • 2
  • 15
  • 32
0

bcrypt-nodejs is no longer actively maintained. Please use bcrypt or bcryptjs, in this case use bcryptjs, it worked with me