bjo*_*ern 6 go vendor glide-golang
我正在运行go1.6并在GOPATH中运行"go build"时遇到跟随错误(/ Users/bweidlich/Projects/go)
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)
Run Code Online (Sandbox Code Playgroud)
项目结构:
bin/
glide.lock
glide.yaml
go.iml
logs/
main.go
pkg/
src/
vendor/
github.com/
deckarep/gosx-notifier
spf13/viper
gizak/termui
Run Code Online (Sandbox Code Playgroud)
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"
)
Run Code Online (Sandbox Code Playgroud)
您的main.go
文件需要位于工作区内(即gopath内部),以便销售其依赖项.作为测试,尝试将您的main.go
内部放入假路径并查看是否找到了已售出的deps:
$GOPATH/src/
example.com/
main.go
vendor/
github.com/
spf13/viper/
gizak/termui/
Run Code Online (Sandbox Code Playgroud)
通常,您不希望在其根src
目录之外的gopath中存储任何代码.也就是说,您应该回显go get
创建目录时使用的结构.