2016-04-01 20 views
-1

にインポートすることを作成した別のファイルを見つけることができませんメインは、間違った場所にpackage viewmodelsを探しているように見えます私のメインファイルは、私は、次のファイル構造を持っている私は、私はメインのファイル

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) 

:私のメインのファイルを実行することでエラーが発生します。私の理解から、How to Write Go Codeを読んだ後、以前のプログラムは正常に動作しますが、私の設定は正しく設定されていますが、明らかに何かが間違っています。

package viewmodels 

import() 
home.go

package main 

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

スニペット:main.go

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 

スニペット:.zshrcから

ゴー関連の設定

何が起こっているのか、どのように私がこの問題を解決できるかについての方向は素晴らしいでしょう。ありがとう。

答えて

1

あなたはインポートパスのための完全なパッケージ名を使用する必要があります。プロジェクトは/Users/nicholasrucci/go/srcの下にあると仮定すると、この場合には"project/src/viewmodels"を、私は

はまた、あなたが設定することができます(たとえば、何のsrcフォルダ)異なったプロジェクトフォルダを構造化しないだろうあなたのGOPATHをあなたのプロジェクトフォルダへの完全修飾パスに変換してください。そうすればmain.goはimport "viewmodels"になります。

+0

これは間違いなくトリックでした。私はGOPATHがプロジェクトごとに設定できることも知らなかった。ありがとうございました。 –

+1

このようにすれば、すべての 'go get'依存関係があなたのproject/srcフォルダの下にインストールされることに注意してください。 –

0

これは私のためだけで正常に動作:

のsrc /メイン/ main.go

package main 

import (
    "viewmodels" 
) 

func main() { 
    viewmodels.Something() 
} 

のsrc /のviewmodels/home.go

package viewmodels 

import() 

func Something() { 

} 

私はそれがあなたのenv変数であると推測します。

関連する問題