javascript 错误:bcrypt_lib.node不是有效的Win32应用程序

m2xkgtsf  于 2022-12-25  发布在  Java
关注(0)|答案(8)|浏览(220)

我在windows机器上有一个nodejs项目,当我试图运行这个项目时,出现了涉及bcrypt和win32的错误。
[nodemon] 2.0.2 [nodemon]要随时重新启动,请输入rs [nodemon]监视目录:. [nodemon]监视扩展名:js,mjs,json [nodemon]启动node app.js内部/模块/cjs/加载程序。js:1003返回进程。dlopen(模块,路径。到命名空间路径(文件名));^

Error: \\?\C:\Users\owner\desktop\msci444\no-scraps\node_modules\bcrypt\lib\binding\napi-v3\bcrypt_lib.node is not a valid Win32 application.
\\?\C:\Users\owner\desktop\msci444\no-scraps\node_modules\bcrypt\lib\binding\napi-v3\bcrypt_lib.node
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1003:18)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Users\owner\desktop\msci444\no-scraps\node_modules\bcrypt\bcrypt.js:6:16)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
[nodemon] app crashed - waiting for file changes before starting...

pt

deikduxw

deikduxw1#

有不同的可能性如何解决:

  • npm rebuild bcrypt --build-from-source(如注解中所述)检查要重新编译的节点版本是否与测试/生产版本匹配
  • npm install node-pre-gyp -g然后npm rebuild bcrypt --build-from-source
  • 删除部署服务器上项目文件夹node_modules(.. programs\server\node_modules)中包含npm-bcrypt的文件夹。在部署服务器上,运行npm install bcrypt

希望能帮到你

6ojccjat

6ojccjat2#

我在Windows环境中遇到此错误:以前我在windows子系统linux下运行这个项目,一旦我需要在visual studio代码中调试它,环境就启动了node的windows版本,这反过来又会对bcrypt库的非win32二进制文件感到疑惑。
卸下node_modules,然后重新安装npm i解决了问题。

wpcxdonn

wpcxdonn3#

当您将文件从一个操作系统交换到另一个操作系统时会发生此错误。例如,将项目文件从MacOS复制/移动到Windows或Linux。要解决此问题,请删除节点模块文件并执行清理npm install

3mpgtkmj

3mpgtkmj4#

我也遇到了同样的问题。我可以通过以下方式更改代码来运行我的项目:
出发地://import * as bcrypt from 'bcrypt';
收件人://import * as bcrypt from 'bcryptjs;
和安装依赖项:npm i bcryptjs --save

v440hwme

v440hwme5#

移除或删除node_modules并重新安装所有软件包。

pw9qyyiw

pw9qyyiw6#

我也面临同样的问题我使用WSL子系统和npm i bcrypt安装了bcrypt,我认为它安装了一个与Windows不匹配的特定架构版本。我在本地机器的终端上运行了nodemon,当我试图运行我的应用程序时,它一直崩溃。
所以我删除了node_modules文件夹,然后在我本地机器的终端上使用npm i来安装软件包,它工作得很顺利!

  • (我的本地机器上没有demon,因为据说mongod不适合WSL)*
xam8gpfp

xam8gpfp7#

确保将节点路径添加到环境。对于WHM服务器中的我:

export PATH=$PATH:/opt/cpanel/ea-nodejs10/bin/
eyh26e7m

eyh26e7m8#

尝试以下步骤;
步骤1:展开node_modules
步骤:删除bcrypt
步骤3:运行npm installyarn install
步骤4:重新启动服务器

相关问题