Cannot install bcrypt node.js module on Centos Server

14,741

Solution 1

I got the same issue doing npm install bcrypt. The other option is to install it from source.

git clone git://github.com/ncb000gt/node.bcrypt.js.git
cd node.bcrypt.js
node-gyp configure
node-gyp build

Rename the node.bcrypt.js folder to bcrypt, and move it into your node_modules of your project.

You can install node-gyp by doing npm install -g node-gyp (-g installs it globally).

Solution 2

There is also a native-js version of bcrypt which does not require compiling. https://github.com/shaneGirish/bcrypt-nodejs

npm install bcrypt-nodejs

The api is very similar to the compiled version. The following is taken directly from the readme

Basic usage:

Synchronous

var hash = bcrypt.hashSync("bacon");

bcrypt.compareSync("bacon", hash); // true
bcrypt.compareSync("veggies", hash); // false

Asynchronous

bcrypt.hash("bacon", null, null, function(err, hash) {
    // Store hash in your password DB.
});

// Load hash from your password DB.
bcrypt.compare("bacon", hash, function(err, res) {
    // res == true
});
bcrypt.compare("veggies", hash, function(err, res) {
    // res = false
});

Solution 3

For me the answer was to ensure that I had gcc, openssl and node-gyp installed.

To install gcc and openssl, use yum:

sudo yum install gcc-c++ openssl-devel

To install node-gyp (globally), use npm:

npm install -g node-gyp

Then the npm install of bcrypt worked just fine on centos

Solution 4

Pre-built binaries are usually available for bcrypt in a few hours after a new release of bcrypt or after a few days after a new NodeJS version is released.

However, remember that binaries are only provided as a convenience.

If you see an error such as:

`You need the following packages on CentOS / RHEL / Fedora

  • gcc-c++ - In order to install a compiler chain to compile the node modules.
  • make - To run the generated Makefile by node-gyp, which invokes compilers in order
  • python - RHEL and CentOS come with the required version of python installed

Make sure all dependencies are installed with this command,

yum install -y gcc-c++ make

and then proceed with the bcrypt installation.

For other systems see: https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions

Share:
14,741
Feras Odeh
Author by

Feras Odeh

Updated on July 27, 2022

Comments

  • Feras Odeh
    Feras Odeh almost 2 years

    I'm trying to install bcrypt on CentOS server but I got the following error:

    info postuninstall [email protected]
    ERR! [email protected] install: `make build`
    ERR! `sh "-c" "make build"` failed with 2
    ERR!
    ERR! Failed at the [email protected] install script.
    ERR! This is most likely a problem with the bcrypt package,
    ERR! not with npm itself.
    ERR! Tell the author that this fails on your system:
    ERR!     make build
    ERR! You can get their info via:
    ERR!     npm owner ls bcrypt
    ERR! There is likely additional logging output above.
    ERR!
    ERR! System Linux 2.6.18-028stab095.1
    ERR! command "nodejs" "/usr/bin/npm" "install" "bcrypt"
    ERR! cwd /root/grouplo
    ERR! node -v v0.6.15
    ERR! npm -v 1.1.16
    ERR! code ELIFECYCLE
    ERR! message [email protected] install: `make build`
    ERR! message `sh "-c" "make build"` failed with 2
    ERR! errno {}
    

    What Can I do to solve this? Thanks,

  • Feras Odeh
    Feras Odeh about 12 years
    I think openssl was missing in my system. After installing my problem solved
  • iandotkelly
    iandotkelly over 10 years
    For me this didn't work until I'd installed other pre-requisites which enabled npm install to work just fine anyway. However you certainly gave me a clue in which direction to go. So I'll upvote you and post an alternative answer.
  • Eat at Joes
    Eat at Joes over 10 years
    bcrypt is a headache, I'm migrating to this. Thanks for the alternative.