无法在Ubuntu上安装npm bcrypt

8

我正在尝试在Ubuntu系统上安装bcrypt,以便在Sails JS和Passport中使用它,但无法安装。 在运行安装bcrypt的命令时,终端生成了以下日志:

    manav@tantraadmin:~$ npm install bcrypt
            \
            > bcrypt@0.8.0 install /home/manav/node_modules/bcrypt
            > node-gyp rebuild

            make: Entering directory `/home/manav/node_modules/bcrypt/build'
              CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
            make: g++: Command not found
            make: *** [Release/obj.target/bcrypt_lib/src/blowfish.o] Error 127
            make: Leaving directory `/home/manav/node_modules/bcrypt/build'
            gyp ERR! build error 
            gyp ERR! stack Error: `make` failed with exit code: 2
            gyp ERR! stack     at ChildProcess.onExit (/home/manav/.nvm/v0.10.31/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
            gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
            gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
            gyp ERR! System Linux 3.11.0-12-generic
            gyp ERR! command "node" "/home/manav/.nvm/v0.10.31/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
            gyp ERR! cwd /home/manav/node_modules/bcrypt
            gyp ERR! node -v v0.10.31
            gyp ERR! node-gyp -v v1.0.1
            gyp ERR! not ok 
            npm ERR! bcrypt@0.8.0 install: `node-gyp rebuild`
            npm ERR! Exit status 1
            npm ERR! 
            npm ERR! Failed at the bcrypt@0.8.0 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 Linux 3.11.0-12-generic
            npm ERR! command "/home/manav/.nvm/v0.10.31/bin/node" "/home/manav/.nvm/v0.10.31/bin/npm" "install" "bcrypt"
            npm ERR! cwd /home/manav
            npm ERR! node -v v0.10.31
            npm ERR! npm -v 1.4.23
            npm ERR! code ELIFECYCLE
            npm ERR! 
            npm ERR! Additional logging details can be found in:
            npm ERR!     /home/manav/npm-debug.log
            npm ERR! not ok code 0

有什么想法吗?


1
你只是缺少编译器g++(sudo apt-get install g++)。 - Luca Davanzo
4个回答

25

因为bcrypt是一个需要编译的插件,所以您需要执行sudo apt-get install build-essential python2.7来安装编译器和其他工具。


谢谢!我在尝试使用node v4.1.1安装node-bcrypt时遇到了很多问题,这是最终让我成功的方法。 - Samuel Fine
3
在Ubuntu 16.04上,只需运行sudo apt install build-essential就足以让bcrypt安装正常工作。 - rudenudedude

1

错误!!!

  > bcrypt@0.8.7 install /var/www/YOUR_PROJECT_ROOT_DIR/node_modules/bcrypt
  > node-gyp rebuild

  make: Entering directory '/var/www/pedestrian/node_modules/bcrypt/build'
    CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
    CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
    CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
    SOLINK_MODULE(target) Release/obj.target/bcrypt_lib.node
    COPY Release/bcrypt_lib.node
  make: Leaving directory '/var/www/YOUR_PROJECT_ROOT_DIR/node_modules/bcrypt/build'

你可以使用以下两个命令来解决bcrypt插件问题:

sudo apt-get install build-essential python2.7

或者

sudo apt install build-essential

0

在Ubuntu上遇到类似的问题,对我有用的是安装bcryptjs而不是bcrypt。试一下吧。


0

在安装Ubuntu 17.10后,我遇到了与node-gyp非常相似的错误。 对我有用的是安装node-gyp模块apt-get install node-gyp


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接