alpine 编译c语言,docker - 我应该安装什么软件包而不是libpcre ++-dev来在Alpine Golang中使用C代码? - 堆栈内存溢出...

我在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所需)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值