2015-10-09 3 views
6

Próba zbudowania mojego projektu w wersji lang przy użyciu wersji 1.5 z GO15VENDOREXPERIMENT="1" włączonej, aby zapewnić lokalny dostęp do sprzedawców.Golang 1.5 dostawcy - Nie można znaleźć pakietu

Moja struktura jest następująca:

apps_api 
    main.go 
    build.sh 
    src 
     controllers 
     models 
     views 
    vendor 
     github.com 
     golang.org 
     ..... 

build.sh zawiera

export GO15VENDOREXPERIMENT="1" 
export GOPATH=`pwd` 
go build . 

przykład plik kontroler

import (
    "models" 
    "views" 

    "github.com/gin-gonic/gin" 
) 

ale dostaję mnóstwo błędów mówiąc pakiet nie został znaleziony patrz poniżej exmaple

src/controllers/app-versions.go:10:2: cannot find package "github.com/asaskevich/govalidator" in any of: 
    /Users/ereeve/.gvm/gos/go1.5/src/github.com/asaskevich/govalidator (from $GOROOT) 
    /Users/ereeve/Documents/gocode/src/apps_api/src/github.com/asaskevich/govalidator (from $GOPATH) 

src/controllers/index.go:4:2: cannot find package "github.com/chnlr/baseurl" in any of: 
    /Users/ereeve/.gvm/gos/go1.5/src/github.com/chnlr/baseurl (from $GOROOT) 
    /Users/ereeve/Documents/gocode/src/apps_api/src/github.com/chnlr/baseurl (from $GOPATH) 

Jeśli dodaję te linie do mojego pliku build.sh, będzie on budowany, ale nie chcę go używać, ponieważ używam wersji 1.5 z dostawcami lokalnie wewnątrz mojego projektu, aby uniknąć zależności.

# go get github.com/gin-gonic/gin 
# go get github.com/go-sql-driver/mysql 
# go get github.com/rif/cache2go 
.... 

Jakieś pomysły, co robię źle?

+0

czy próbowałeś pobrać Github.com/asaskevich/govalidator? – pregmatch

+0

Używam go 1.5, więc mam ten plik wewnątrz dostawcy/github.com, aby uniknąć używania go get, a następnie mieć różne wersje w różnych środowiskach –

Odpowiedz

8

IIRC, GO15VENDOREXPERIMENT będzie działać tylko wtedy, gdy pakiet budujesz jest wewnątrz $GOPATH/src, więc ustawienie

export GOPATH=`pwd` 

w swojej build.sh sprawia, że ​​nie. Jeśli umieścisz swój apps_api wewnątrz powiedzieć ~/fakegopath/src/ i uruchomić

env GOPATH="${HOME}/fakegopath/src/" GO15VENDOREXPERIMENT="1" go build . 

to powinno działać.

+0

Dzięki, ale otrzymuję to: go: GOPATH wpis nie może zaczynać się od powłoki metaznak "~": "~/Documents/gocode/src /" - czy muszę jawnie wypełnić GOPATH? –

+2

Spróbuj zastąpić '~' '$ {HOME}'. –

+0

Teraz otrzymuję (GOPATH nie jest ustawiony)? –