2016-03-20 6 views
6

ich go1.6 renne und ich erhalte die Folgefehler, wenn "go bauen" in GOPATH läuft (/ Users/bweidlich/Projekte/go)Nicht Auflösungsabhängigkeit in Lieferantenverzeichnis

main.go:6:2: cannot find package "github.com/spf13/viper" in any of: 
/usr/local/go/src/github.com/spf13/viper (from $GOROOT) 
/Users/bweidlich/Projects/go/src/github.com/spf13/viper (from $GOPATH) 

Struktur Projekt:

bin/ 
glide.lock 
glide.yaml 
go.iml 
logs/ 
main.go 
pkg/ 
src/ 
vendor/ 
     github.com/ 
       deckarep/gosx-notifier 
       spf13/viper 
       gizak/termui 

main.go

package main 

import (
    "fmt" 
    "github.com/gizak/termui" <--- doesn't resolve 
    "github.com/spf13/viper" <--- doesn't resolve 
    "log" 
    "bweidlich/dash" 
    "net/http" 
    "os" 
    "os/exec" 
    "time" 
) 
+0

Warum haben Sie 'bin',' pkg' und 'src' in Ihrem Projektverzeichnis? Ihr Projekt sollte sich auf seinem Importpfad befinden. Wie ist die Gesamtstruktur hier? – JimB

Antwort

5

Ihre main.go Datei muss in einem Arbeitsbereich sein (das heißt, in ide gopath) für seine Abhängigkeiten zu werden, zu werden. Als Test, versuchen Sie Ihre main.go in einem falschen Weg setzen und sehen, ob die weiterverkauft deps gefunden werden:

$GOPATH/src/ 
    example.com/ 
    main.go 
    vendor/ 
    github.com/ 
     spf13/viper/ 
     gizak/termui/ 

Im Allgemeinen Sie keinen Code in Ihren gopath außerhalb seiner Wurzel src Verzeichnisses gespeichert werden sollen. Das heißt, Sie sollten die Struktur wiedergeben, die go get beim Erstellen der Verzeichnisse verwenden würde.