0

我正在尝试运行 node.js 应用程序。

可以直接在我的 raspbian buster 上毫无问题地运行它。

在同一个树莓派上运行的 docker 容器中,我没有这样的运气。

Dockerfile:

FROM balenalib/raspberry-pi2-debian-node:10-stretch-run

RUN sudo apt-get update
RUN sudo apt-get -y install g++ python make git

WORKDIR /usr/src/app

COPY package.json package.json

RUN JOBS=MAX npm install --production
COPY . ./

CMD ["npm", "start"]

但是当我在 docker 容器中运行相同的 node.js 代码时,我得到了 libnode.so.64 错误。

pi@raspberrypi:~/rpi-lora-sensorified/data $ docker logs rpi-lora-sensorified_data_1

> resin-websocket@1.0.1 start /usr/src/app
> node index.js

/usr/src/app/node_modules/bindings/bindings.js:121
        throw e;
        ^

Error: libnode.so.64: cannot open shared object file: No such file or directory

我已经尝试在容器中安装 libnode-dev (我已经得出结论提供了这个库),但我得到了一个

E: Unable to locate package libnode-dev

是的,我已经重建了没有缓存的容器,但仍然找不到那个包。

任何(甚至一些指针都会有所帮助)想法我在哪里继续看下去?

4

1 回答 1

0

所以我根本无法解释的解决方案是:我试图在 debian 拉伸上运行代码,同时测试它是否适用于 debian buster。当将 docker 映像更新为 buster 时,一切都按预期工作。

于 2019-08-12T19:01:19.983 回答