我在Docker容器中有一个Golang程序(我使用Ubuntu 18)。 在使用此库之前,我应该这样安装libpcre++-dev :

须藤apt-get install libpcre ++-dev

但是我在Dockerfile中使用了golang:alpine,而这在alpine软件包中不是libpcre++-dev库。

我应该安装什么软件包而不是 libpcre++-dev ?

ps我试图安装libc6-compat , pcre pcre-dev , libpcrecpp但我看到此错误:

github.com/glenn-brown/golang-pkg-pcre/src/pkg/pcre /go/pkg/mod/github.com/glenn-brown/golang-pkg-pcre@v0.0.0-20120522223659-48bb82a8b8ce/src/ pkg / pcre / pcre.go:52:10:致命错误:pcre.h:没有这样的文件或目录#include ^ ~~~~~~~编译终止

我的Dockerfile:

FROM golang:alpine

RUN apk update

RUN apk upgrade

RUN apk add --update --no-cache build-base gcc g++ pcre pcre-dev libc6-compat

# Install git + SSL ca certificates.

# Git is required for fetching the dependencies.

# Ca-certificates is required to call HTTPS endpoints.

RUN apk update && apk add --no-cache curl git ca-certificates tzdata \

&& update-ca-certificates 2> /dev/null || true

我以这种方式构建应用程序:

- CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -ldflags="-w -s" -o bin/backend ./cmd/backend/main.go

编辑

我已经更改了Dockerfile(在下面添加行)

RUN apk add --update --no-cache build-base gcc g++ pcre pcre-dev libc6-compat

现在我有一个新错误:

加载共享库libpcre.so.1时出错:没有这样的文件或目录(/ bin / backend所需)