2016-04-01 19 views
-1

Aşağıdaki dosya yapısına sahip: Ben çalıştığınızda ~/go/src/Benim asıl dosya Ben ana dosya içe olduğunu oluşturulan başka dosyayı bulamıyor

:

- project/ 
    - src/ 
    - main/ 
     - main.go 
    - viewmodels/ 
     - home.go 
    - public/ 

Projem bulunur ana yanlış konumda package viewmodels arıyor gibi görünüyor

src/main/main.go:10:2: cannot find package "viewmodels" in any of: 
    /usr/local/Cellar/go/1.5.3/libexec/src/viewmodels (from $GOROOT) 
    /Users/nicholasrucci/go/src/viewmodels (from $GOPATH) 

: benim ana dosyasını çalıştırmak için bu hatayı atar. Anlayışımdan, How to Write Go Code okunduktan ve önceki programlar düzgün çalıştıktan sonra, yapılandırmam doğru şekilde ayarlandı, ancak açıkçası bir şeyler yanlış. .zshrc den

git ilgili yapılandırma: main.go arasında

export GOPATH=$HOME/go 
export PATH=$PATH:/usr/local/opt/go/libexec/bin 
export PATH=$PATH:$GOPATH/bin 
export PATH=$PATH:/usr/local/go/bin 

Pasaj:

package main 

import (
    "bufio" 
    "log" 
    "net/http" 
    "os" 
    "strings" 
    "text/template" 
    "viewmodels" 
) 

Pasaj home.go arasında:

package viewmodels 

import() 

Neler olup bittiği ve bu sorunu nasıl düzeltebileceğimin herhangi bir yönü harika olurdu. Teşekkürler.

cevap

1

Sen ithalat yolu için tam bir paket adı kullanmalısınız: Proje /Users/nicholasrucci/go/src altında olduğunu varsayarak, bu durumda "project/src/viewmodels" ama

Alternatif ayarlayabilirsiniz (örneğin hiçbir src klasörü) farklı proje klasörü yapısı ediyorum GOPATH ürününüzün tam nitelikli yoluna proje klasörünüzün ana yolu olarak import "viewmodels"'a izin verin.

+0

Bu kesinlikle hile yaptı. Proje başına bir GOPATH ayarlanabileceğini de bilmiyordum. Teşekkür ederim. –

+1

Eğer böyle yaparsanız, tüm '' get'' bağımlılıklarının projeniz/src klasörünüze yükleneceğini unutmayın. –

0

Bu benim için sadece iyi çalışır:

src/main/main.go

package main 

import (
    "viewmodels" 
) 

func main() { 
    viewmodels.Something() 
} 

src/ViewModels/home.go

package viewmodels 

import() 

func Something() { 

} 

Ben tahmin etmek sizin env değişkenlerinizdir.

İlgili konular