Meteor应用程序无法部署在Docker容器中,因为节点预gyp依赖性(fabric js)

f87krz0w  于 2023-03-07  发布在  Docker
关注(0)|答案(1)|浏览(120)

我有一个简单的流星项目,其中只包含1页画布上。这个画布是使用织物js这是安装使用:

meteor npm install --save fabric

当我在我的Windows机器上运行应用程序时,它工作(Fabric JS工作,我可以在画布上画画)
但是当我在ubuntu + docker上部署时,它在node-pre-gyp安装期间失败了:
x一个一个一个一个x一个一个二个x
在我的Dockerfile中,我使用以下版本:

  • 流星版本= 2.10.0
  • 码头集装箱= geoffreybooth/meteor-base:2.10.0
  • 节点版本= node:14.19.3-alpine

当我删除Fabric js包时,我可以毫无问题地部署。有什么想法如何修复这个问题吗?

bxpogfeg

bxpogfeg1#

在我等了2天没有stackoverflow的回应后,ChatGPT在不到10分钟的时间里就解决了我的问题。我想www.example.com应该担心:)stackoverflow.com should be worried :)
公平地说,Jankapunkt确实给出了一个好方向的回复/提示,但是我对Docker的理解不是很好,所以我不知道该怎么处理这个提示。
ChatGPT做得好多了,它回答得中肯而正确,有例子和额外的解释。

    • 解决方案:**

将以下行添加到Docker文件并重建Docker映像:

RUN apk add --no-cache pkgconfig

之后,我有一些更多的失踪包,使FiberJS的工作,最后我不得不添加3多在Dockerfile:

RUN apk add --no-cache pixman-dev
RUN apk add --no-cache cairo-dev
RUN apk add --no-cache pango-dev

(all ChatGPT可以非常快速地识别其中的一些...)

相关问题