Пытаюсь понять go build -tags static - PullRequest
       1

Пытаюсь понять go build -tags static

0 голосов
/ 23 сентября 2019

Я начинаю разрабатывать несколько сервисов на Go, и у меня возникают некоторые проблемы, пытаясь понять, как и когда использовать флаг build -tags.

Мой официальный образ сборки golang:1.13.0-stretch в который я также добавляю librdkafka.Затем я создаю свое приложение с помощью GOOS=linux GOARCH=amd64 go build -tags static_all main.go (также пытался static).

Проблема в том, что я просто получаю двоичный файл от компоновщика для окончательного образа (используя ubuntu, а не scratch)приложение не будет работать, если я не установлю librdkafka или просто не скопирую /usr/lib/librdkafka* из компоновщика в /usr/lib/.

Если я правильно понял флаг, -tags static / static_all - это скомпилировать приложение со всеми необходимыми библиотеками(за счет большего размера), так что я могу легко развернуть его в любой системе (даже если в этом случае это то же самое).Но похоже, что это не так, потому что у меня все еще есть требование предоставить librdkafka целевой системе (в данном случае это изображение)

Итак, в итоге:

  • Как узнать, когда мне нужно использовать -tags static?

  • Где я могу найти список доступных тегов и их назначение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...