8

CentOSサーバーにbcryptをインストールしようとしていますが、次のエラーが発生しました。

info postuninstall bcrypt@0.5.0
ERR! bcrypt@0.5.0 install: `make build`
ERR! `sh "-c" "make build"` failed with 2
ERR!
ERR! Failed at the bcrypt@0.5.0 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 bcrypt@0.5.0 install: `make build`
ERR! message `sh "-c" "make build"` failed with 2
ERR! errno {}

これを解決するにはどうすればよいですか?ありがとう、

4

5 に答える 5

14

コンパイルを必要としないbcryptのnative-jsバージョンもあります。 https://github.com/shaneGirish/bcrypt-nodejs

npm install bcrypt-nodejs

APIは、コンパイルされたバージョンと非常によく似ています。以下は、Readmeから直接引用したものです

基本的な使用法:

同期

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

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

非同期

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
});
于 2013-03-16T16:40:28.897 に答える
7

私にとっての答えは、gcc、openssl、node-gypがインストールされていることを確認することでした。

gccとopensslをインストールするには、yumを使用します。

sudo yum install gcc-c++ openssl-devel

node-gypを(グローバルに)インストールするには、npmを使用します。

npm install -g node-gyp

次に、bcryptのnpmインストールはcentosで問題なく機能しました

于 2014-01-03T02:35:46.310 に答える
5

npminstallbcryptを実行しても同じ問題が発生しました。もう1つのオプションは、ソースからインストールすることです。

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

node.bcrypt.jsフォルダーの名前をbcryptに変更し、プロジェクトのnode_modulesに移動します。

npm install -g node-gypを実行することでnode-gypをインストールできます(-gはグローバルにインストールします)。

于 2012-05-13T00:18:43.377 に答える
2

ビルド済みのバイナリは通常、bcryptの新しいリリースから数時間後、または新しいNodeJSバージョンがリリースされてから数日後にbcryptで利用できます。

ただし、バイナリは便宜のためにのみ提供されていることに注意してください。

次のようなエラーが表示された場合:

`CentOS / RHEL/Fedoraには次のパッケージが必要です

  • gcc-c++-ノードモジュールをコンパイルするためのコンパイラチェーンをインストールするため。
  • make-生成されたMakefileをnode-gypで実行します。これにより、コンパイラが順番に呼び出されます。
  • python-RHELとCentOSには、必要なバージョンのPythonがインストールされています

このコマンドですべての依存関係がインストールされていることを確認してください。

yum install -y gcc-c++ make

その後、bcryptのインストールを続行します。

その他のシステムについては、https ://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructionsを参照してください。

于 2018-05-02T17:02:23.927 に答える
0

node私もこの問題を抱えていましたが、と互換性がないことが判明しましたbcrypt。私はノードバージョンltsを使用していまし12たが、のbcryptバージョンはpackage.jsonでした。これは5である必要があります3

ここでノードとbcryptの異なるバージョンの互換性を確認できます。

それが誰かを助けたことを願っています

于 2021-03-08T10:24:55.833 に答える