在Docker容器中安装libnode-dev

时间:2019-08-11 19:12:16

标签: docker raspberry-pi docker-compose raspbian debian-buster

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

可以直接在我的树莓克星上运行它。

在同一树莓派上运行的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

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

任何人(甚至实际上甚至有些指针都会有所帮助)都知道我应该在哪里继续寻找?

1 个答案:

答案 0 :(得分:0)

所以我根本无法解释的解决方案是: 我试图在debian Stretch上运行代码,同时测试它是否可以在debian buster上运行。.将docker image更新为buster时,一切都按预期进行。