我正在为学校开展一个nodejs项目.我无法用npm安装bcrypt所以我安装了bcrypt-nodejs并且该项目昨天工作正常.但今天,当我做"节点应用程序"时,我有这个错误:
/.../node_modules/bcrypt/node_modules/bindings/bindings.js:79
throw e
^
Error: /.../node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at bindings (/.../node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/.../node_modules/bcrypt/bcrypt.js:1:97)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
Run Code Online (Sandbox Code Playgroud)
我的package.json文件如下所示:
{
"name": "Supinfarm",
"version": "0.0.0",
"env": {
"PYTHON": "/usr/bin/python2.6"
},
"dependencies": {
"express": "3.1.0",
"connect-flash": "*",
"jade": "*",
"stylus": "*",
"passport": "*",
"passport-local": "*",
"mongoose": "*",
"bcrypt": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
我在Linux上ubuntu 10.04 LTS我试图在google上找到解决方案但没有成功......有人可以帮助我吗?
我没有找到解决运行时出现以下错误的解决方案docker-compose up:
module.js:598
return process.dlopen(module, path._makeLong(filename));
^
Error: /code/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header
Run Code Online (Sandbox Code Playgroud)
这是我最近的尝试 docker-compose.yml
version: "2"
services:
app:
build: ./client
ports:
- "3000:3000"
links:
- auth
volumes:
- ./client:/code
auth:
build: ./auth-service
ports:
- "3002:3002"
links:
- db
volumes:
- ./auth-service:/code
db:
...
Run Code Online (Sandbox Code Playgroud)
我的身份验证服务 Dockerfile:
FROM node:7.7.1
EXPOSE 3002
WORKDIR /code
COPY package.json /code
RUN npm install
COPY . /code
CMD npm start
Run Code Online (Sandbox Code Playgroud)
在尝试了上述两个链接中的每个解决方案后,我重建了容器,但总是导致相同的错误。
同样值得注意的是,当我不使用 docker 时,该服务在本地运行良好。
如何让 docker 与 bcrypt 一起工作?
更新 …