Як встановити вимоги в Go? “Не можу знайти пакет”


82

Я новачок у Go, і я намагаюся створити проект Go з мінімальною документацією: https://github.com/alphagov/metadata-api

Я клонував його, але при спробі go buildотримую такі попередження:

main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
    /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
    /Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)

Я здогадуюсь, це тому, що я не встановив еквівалент вимог Go?

Моє GOPATHвстановлено:

metadata-api$ echo $GOPATH
/Users/me/go

І виконуваний файл Go є

metadata-ape$ echo $PATH
....:/Users/me/go/bin

Що мені потрібно зробити, щоб допомогти Go знайти ці пакунки?


Оновлення: я додав Перейти до мого шляху export PATH=$PATH:/Users/anna/goі тепер go buildне видає жодних помилок ... але, здається, нічого не генерує.
Річард

Відповіді:


93

Спочатку слід встановити пакет:

спробуй

$ go get github.com/Sirupsen/logrus

і перевірити ваш $GOPATHреж

Цей проект використовується gomяк менеджер пакетів,

Переконайтесь, що ви встановили gom

або спробуйте цю команду

$ gom install 

Я думаю, що ваші параметри $GOPATHта $PATHналаштування неправильні, $GOPATHзмінна середовища вказує розташування робочої області, це мої налаштування шляху:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN

1
Дякую. gom installздається, робить трюк, але звідки ви знали, що цей проект використовується gom?
Річард

14
Я також спробував побіжно, go getі я думаю, що він отримав усі мої залежності одночасно.
Джон Бубріскі

Змінна середовища $ GOPATH визначає розташування робочої області? Чи означає це, що мені доводиться експортувати всі ці змінні кожного разу, коли я створюю новий проект робочої області?
Угур Йільмаз

27

У мене була подібна проблема і

export GO111MODULE=on 

допоміг.


2
Це те, що мені теж потрібно було. Пішов шукати, чому - ось зведення
Тім Малоун

Просто занадто довго намагався з’ясувати, чому. Дякую за це !!!
cpk

2

Вдалося виправити подібну проблему в Go 1.13.7, набравши:

 export GOPATH=~/go
 go get github.com/profile/repository 
 (e.g. github.com/Sirupsen/logrus)

0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.