当前位置: 首页 > 面试题库 >

Bcrypt:Docker和Sails.JS的无效ELF标头

越嘉石
2023-03-14
问题内容

我的节点Dockfile

# Set the base image to ubuntu
FROM ubuntu

# Define working directory
ADD . /src
WORKDIR /src

# Install Node.js & other dependencies
RUN apt-get update && \
        apt-get -y install curl && \
        apt-get -y install sudo && \
        curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - && \
        apt-get -y install python build-essential nodejs

RUN npm install -g node-gyp && \
        node-gyp clean && \
        npm cache clean

RUN node -v

# Install nodemon
RUN npm install -g nodemon


ADD package.json /src/package.json
RUN cd /src && npm install


# Expose port
EXPOSE  8080

# Run app using nodemon
CMD npm install; nodemon /src/app.js

这是我的docker-compose.yml

nginx:
    build: ./nginx
    links:
        - node1:node1
        - node2:node2
        - node3:node3
    ports:
        - "80:80"
redis:
    image: redis
    ports:
        - "6379"
node1:
    build: ./node
    links:
        - redis
    ports:
        - "8080"
node2:
    build: ./node
    links:
        - redis
    ports:
        - "8080"
node3:
    build: ./node
    links:
        - redis
    ports:
        - "8080"

docker-compose build运行成功并且Redis / Nginx安装正确,docker-compose up但是节点实例抛出此错误:

node2_1 | /src/node_modules/bcrypt/node_modules/bindings/bindings.js:83
node2_1 |         throw e
node2_1 |               ^
node2_1 | Error: /src/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
node2_1 |     at Error (native)
node2_1 |     at Module.load (module.js:355:32)
node2_1 |     at Function.Module._load (module.js:310:12)
node2_1 |     at Module.require (module.js:365:17)
node2_1 |     at require (module.js:384:17)
node2_1 |     at bindings (/src/node_modules/bcrypt/node_modules/bindings/bindings.js:76:44)
node2_1 |     at Object.<anonymous> (/src/node_modules/bcrypt/bcrypt.js:3:35)
node2_1 |     at Module._compile (module.js:460:26)
node2_1 |     at Object.Module._extensions..js (module.js:478:10)
node2_1 |     at Module.load (module.js:355:32)
node2_1 |     at Function.Module._load (module.js:310:12)
node2_1 |     at Module.require (module.js:365:17)
node2_1 |     at require (module.js:384:17)
node2_1 |     at Object.<anonymous> (/src/api/models/User.js:10:14)
node2_1 |     at Module._compile (module.js:460:26)
node2_1 |     at Object.Module._extensions..js (module.js:478:10)
node2_1 | 19 Aug 20:21:11 - [nodemon] app crashed - waiting for file changes before starting...

我到处搜索,似乎找不到有效的解决方案。我尝试使用常规设置url:,https://deb.nodesource.com/setup特别是install
python2.7和使用ubuntu:15.04图像。

我已经读到,当人们尝试在OS X(我的OS)上构建了Linux
env之后使用bcrypt时,会发生这种情况,但是我认为这不是问题,因为我正在使用docker和boot2docker。


问题答案:

在我的程序包配置中"bcrypt":"^0.8.0",当我取出^并将其更改为"bcrypt":"0.8.0"我时,它能够使一切正常运行。

问题是它试图运行bcrypt 0.8.5,并且由于某种原因导致了问题。



 类似资料:
  • Sails.js 就像是 Node.js 平台上的 Rails 框架。这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合。用来开发多玩家游戏、聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.js 应用。 Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。 控制器示例代码: module.exports =

  • 问题内容: 我刚刚将一个zip文件上传到AWS Lambda,其中包含“ ref”(https://www.npmjs.com/package/ref),这是验证iOS Game Center身份验证令牌如何对GameCenter用户进行身份验证所必需的来自第三方的node.js服务器。 不幸的是,调用它会导致“无效的ELF标头”错误, 这是在运行优胜美地的64位Macbook Pro上开发的,在

  • elf

    import "debug/elf" Package elf implements access to ELF object files. Index Constants Variables func R_INFO(sym, typ uint32) uint64 func R_INFO32(sym, typ uint32) uint32 func R_SYM32(info uint32) uint

  • ELF

    ELF是一个大范围、轻量级且易于使用的游戏研究平台。 ELF 可以让研究者们在不同的游戏环境中测试他们的算法,其中包括桌游、Atari 游戏,以及定制的即时战略游戏(RTS)。它们可以运行在带有 GPU 的笔记本电脑上,而且支持在更为复杂的游戏环境中训练 AI 。 ELF 在 C/C++界面中运行所有游戏,自动处理并发问题如多线程/多任务。另外,ELF 还有一个纯净的 Python 用户界面,提供

  • 问题内容: 我正在开发一个可以将sails.js用于后端并将AngularJS用于前端的应用程序。我以为我会使用Yeoman- angular生成器https://github.com/yeoman/generator- angular 创建一个Angular应用,一旦完成了前端逻辑,我就将使用创建一个Sails应用, npm install -g帆 航行新应用 然后,我将所有AngularJS文