2015-10-09 40 views
6

Đang cố gắng xây dựng dự án của tôi ở thôn lang bằng cách sử dụng phiên bản 1.5 với GO15VENDOREXPERIMENT="1" được bật để đảm bảo tôi tìm kiếm nhà cung cấp tại địa phương.Golang 1.5 nhà cung cấp - Không thể tìm thấy gói

cấu trúc của tôi là:

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

build.sh chứa

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

dụ tập tin điều khiển

import (
    "models" 
    "views" 

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

Nhưng tôi nhận được rất nhiều lỗi nói gói không tìm thấy xem dưới đây để 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) 

Nếu tôi thêm những dòng này vào tệp build.sh của tôi, nó sẽ xây dựng, nhưng tôi không muốn sử dụng đi vì tôi đang dùng 1.5 với các nhà cung cấp cục bộ bên trong dự án của tôi để tránh sự phụ thuộc.

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

Bất kỳ ý tưởng nào tôi đang làm sai?

+0

bạn đã thử truy cập github.com/asaskevich/govalidator chưa? – pregmatch

+0

Tôi đang sử dụng đi 1.5 vì vậy tôi có tập tin bên trong nhà cung cấp/github.com để tránh sử dụng đi sau đó có phiên bản khác nhau trên môi trường khác nhau –

Trả lời

8

IIRC, GO15VENDOREXPERIMENT sẽ chỉ làm việc nếu gói bạn đang xây dựng là bên trong $GOPATH/src, vì vậy việc thiết

export GOPATH=`pwd` 

trong build.sh bạn làm cho nó thất bại. Nếu bạn đặt apps_api vào bên trong nói ~/fakegopath/src/ và chạy

nó sẽ hoạt động.

+0

Cảm ơn nhưng tôi nhận được điều này: đi: GOPATH nhập không thể bắt đầu với shell metacharacter '~': "~/Documents/gocode/src /" - tôi có cần điền rõ ràng GOPATH không? –

+2

Thử thay thế '~' bằng '$ {HOME}'. –

+0

Tôi hiện đã nhận được ($ GOPATH chưa được đặt)? –

Các vấn đề liên quan