使用 bcrypt 散列密码时出错:找不到模块 bcrypt_lib.node

Getting error while hashing password with bcrypt: can not find module bcrypt_lib.node

我正在使用 node.js 开发一个 api 项目,在尝试使用 bcrypt 包散列我的代码时收到此错误:

  throw err;
  ^

Error: Cannot find module '/home/emad/work/node.js/npm-demo/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node'
Require stack:
- /home/emad/work/node.js/npm-demo/node_modules/bcrypt/bcrypt.js
- /home/emad/work/node.js/npm-demo/routes/users.js
- /home/emad/work/node.js/npm-demo/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/home/emad/work/node.js/npm-demo/node_modules/bcrypt/bcrypt.js:6:16)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/home/emad/work/node.js/npm-demo/routes/users.js:1:16)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/home/emad/work/node.js/npm-demo/index.js:8:14)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/emad/work/node.js/npm-demo/node_modules/bcrypt/bcrypt.js',
    '/home/emad/work/node.js/npm-demo/routes/users.js',
    '/home/emad/work/node.js/npm-demo/index.js'
  ]
}

我的 OS 是 Ubuntu 18.04.5 LTS,我安装了在 npm 站点的 bcrypt 页面中写下的所有依赖项

尝试以下步骤 运行:-

  1. 删除 node_modules 文件夹
  2. 运行 npm cache clean --force
  3. npm 安装