NODE_MODULE_VERSION エラー

bcrypt 関連

NodeJSのバージョンの違いでたまにこのようなエラーに遭遇します。

NODE_MODULE_VERSION 59. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing

これはそのエラー文の上に何が原因かが一緒にかかれていると思います。例えば上は、

Error: The module '/home/ec2-user/user-name/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using

bcryptパッケージが原因で起きている事でした。

このような場合は、以下のようにそのパッケージをrebuildしてあげる事で治りました。

npm rebuild bcrypt --update-binary

node-gyp rebuild ...

node-gypのバージョンが古い場合はアップグレードしてあげることで、解決へ1歩前進するかもしれません。(エラーメッセージが変わった)

node-gyp --version
# v3.6.2

npm install --global node-gyp

node-gyp --version
# v6.1.0

あとnpm ciじゃなくnpm installなら通ります😕