Импорт Go пакетов из GOPATH/src

Можно ли импортировать в проект, находящийся за пределами GOPATH (в любом произвольном месте), пакеты из GOPATH/src?

Проект с каким-то go.mod.

Пакеты в GOPATH/src естественно не скомпилированные. Кроме того они нигде не опубликованы, то есть к ним нет доступа, как к удалённым пакетам.


Ответы (1 шт):

Автор решения: Pak Uula

Можно импортировать исходники пакетов из любого места. Это можно сделать, отредактировав go.mod

Для примера предположим, у вас go.mod выглядит вот так:

module example.com/mymodule

go 1.16

require (
    example.com/othermodule v1.2.3
    example.com/thismodule v2.3.4
    example.com/thatmodule v3.4.5
)

Чтобы указать go в какой папке искать исходники модуля, нужно добавить в go.mod инструкцию replace:

module example.com/mymodule

go 1.16

require (
    example.com/othermodule v1.2.3
    example.com/thismodule v2.3.4
    example.com/thatmodule v3.4.5
)

replace example.com/thatmodule => /path/to/thatmodule
→ Ссылка