Go mod tidy удаляет линтеры из go .mod - PullRequest
0 голосов
/ 15 февраля 2020

В моем небольшом проекте у меня есть сценарий, который обеспечивает надлежащее качество кода, выполняя stati c проверки кода, например, я использую errcheck , чтобы убедиться, что я обрабатываю каждую ошибку в своем коде. В dep был специальный раздел для такого рода зависимостей, который называется required

Используйте это для: линтеров, генераторов и других инструментов разработки, которые:

  • Необходимы для вашего проекта
  • Не импортированы вашим проектом, напрямую или транзитивно

Для go модулей я могу получить данные версию errcheck, выполнив: go get github.com/kisielk/errcheck@v1.2.0

Но тогда она будет удалена из go.mod, когда я выполню: go mod tidy. Можно ли избежать такой ситуации?

1 Ответ

0 голосов
/ 16 марта 2020

В модулях Go в настоящее время нет различий между зависимостями «код», «тест» и «инструмент»: зависимость является зависимостью.

Если вы хотите записать определенную c версия инструмента, вы можете добавить import пути этого инструмента в исходный файл, который обычно исключается ограничениями сборки , такими как // +build tools.

Например:

// +build tools

// Package tools records tool dependencies. It cannot actually be compiled.
package tools

import _ "github.com/kisielk/errcheck"

(Как отметил JimB, см. http://golang.org/wiki/Modules#how -can-i-track-tool-dependencies-for-a-module для получения более подробной информации.)

...