在 docker 容器中安装 Sharp 时出错

问题描述

在本地运行 npm install 时一切正常,但是一旦我在我的 docker 容器中尝试它,我就会收到以下错误

/api/node_modules/sharp/lib/constructor.js:1
    Something went wrong installing the "sharp" module
    
    Error relocating /api/node_modules/sharp/build/Release/../../vendor/8.10.6/lib/libvips-cpp.so.42: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found

任何帮助非常感谢!

Docker 镜像非常简单:

FROM node:12.13.0-alpine AS alpine

workdir /api

copY package.json .

RUN npm install

解决方法

在我的情况下,在通过为 Sharp 搜索 github 问题尝试了很多不同的选项后,将这一行添加到我的 Dockerfile 中修复了它:

RUN npm config set unsafe-perm true