2016-10-05 4 views
0

Я в процессе переучивания Go. Я установил последнюю версию Go (1.7.1), используя gvm, и я ищу для создания простого приложения api для отдыха, используя gin. Я установил его с помощью glide get https://github.com/gin-gonic/gin (glide) и создал папку «vendor» в корне моего проекта. Запуск моего приложения, хотя, go run main.go, я встречаю этой ошибкуКаталог поставщиков не используется для разрешения импорта в go build

main.go:3:8: cannot find package "github.com/gin-gonic/gin" in any of: 
    /home/yowmamasita/.gvm/gos/go1.6.3/src/github.com/gin-gonic/gin (from $GOROOT) 
    /home/yowmamasita/.gvm/pkgsets/go1.6.3/global/src/github.com/gin-gonic/gin (from $GOPATH) 

Это не разрешающее «поставщик» каталог скользит только что созданного

. 
├── glide.lock 
├── glide.yaml 
├── main.go 
├── README.md 
└── vendor 
    └── github.com 
     └── gin-gonic 
      └── gin 

Не уверен, что здесь происходит, я думал, что после того, как 1.5, он должен иметь возможность разрешать импорт из каталогов поставщиков, ничего не делая. Я даже добавил папку мои проекты на мой $GOPATH

/home/yowmamasita/.gvm/pkgsets/go1.7.1/global:/home/yowmamasita/goprojects

Что я здесь делаю неправильно? Я тоже пробовал 1.6.3, и я получаю ту же ошибку.

+0

Что выход 'идти env' и' идти version'? – putu

+0

@putu https://ghostbin.com/paste/ayebv – yowmamasita

+0

Папка '/ home/yowmamasita/goprojects' не находится в вашем' GOPATH'. После изменения переменной «GOPATH» обязательно запустите 'source .bashrc' или' source .bash_profile' или просто запустите новый терминал. – putu

ответ

1

Пожалуйста, убедитесь, что:

  1. Добавить рабочее пространство (/home/yowmamasita/goprojects) для $GOPATH переменной.
  2. Обычно под рабочим пространством будет три каталога, которые являются bin, pkg и src. More details
  3. Вы можете опустить pkg и bin, но проект, который использует vendor пакеты или пользовательский пакет должен быть помещен под $GOPATH/src, иначе go компилятор не узнал его.

Более обсуждения могут быть найдены here и here

Структура должна выглядеть следующим образом:

$GOPATH 
└── src 
    └── YOURPROJECT1 
      ├── source codes #1 
      └── vendor/ 

    └── YOURPROJECT2 
      ├── source codes #2 
      └── vendor/