gpt4 book ai didi

docker 中的 node.js - 无法找到绑定(bind)文件 .../bcrypt_lib.node

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:47 25 4
gpt4 key购买 nike

我有一个自定义的 Node.js 应用程序,可以在虚拟机中正常运行,但是当我尝试在 Docker 中运行它时,出现错误

Error initializing middleware
Error: Could not locate the bindings file. Tried:
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/Debug/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/out/Debug/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/Debug/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/out/Release/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/Release/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/build/default/bcrypt_lib.node
→ /usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/compiled/4.8.4/linux/x64/bcrypt_lib.node
at bindings (/usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:88:9)
at Object.<anonymous> (/usr/src/app/node_modules/co-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)

Dockerfile 如下所示

FROM node:4-onbuild

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json .
ENV PORT 8080

RUN npm install
RUN npm install --unsafe-perm node-gyp
RUN npm install --unsafe-perm libxmljs
RUN npm rebuild

# Bundle app source
COPY . .

EXPOSE 8080
CMD [ "npm", "start" ]

我已经添加了提到的建议here没有成功(安装node-gyp和libxmljs,进行npm重建)。我正在使用 "bcryptjs": "^2.3.0"

任何如何使其发挥作用的建议都将受到赞赏! :)

最佳答案

问题的根本原因是使用co-bcrypt。从 package.json 中删除它并用 bcryptjs 替换所有 require 语句后,错误消失了。

关于docker 中的 node.js - 无法找到绑定(bind)文件 .../bcrypt_lib.node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com