Cannot install bcrypt node.js module on Centos Server

后端 未结 4 1115
栀梦
栀梦 2020-12-03 15:49

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

info postuninstall bcrypt@0.5.0
ERR! bcrypt@0.5.0 install: `make build`
ERR! `s         


        
相关标签:
4条回答
  • 2020-12-03 16:15

    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

    0 讨论(0)
  • 2020-12-03 16:17

    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
    });
    
    0 讨论(0)
  • 2020-12-03 16:21

    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

    0 讨论(0)
  • 2020-12-03 16:27

    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).

    0 讨论(0)
提交回复
热议问题