尝试使用版本1.5在go lang中构建我的项目,GO15VENDOREXPERIMENT="1"并确保我在本地查找供应商.
我的结构是:
apps_api
main.go
build.sh
src
controllers
models
views
vendor
github.com
golang.org
.....
Run Code Online (Sandbox Code Playgroud)
build.sh包含
export GO15VENDOREXPERIMENT="1"
export GOPATH=`pwd`
go build .
Run Code Online (Sandbox Code Playgroud)
控制器文件示例
import (
"models"
"views"
"github.com/gin-gonic/gin"
)
Run Code Online (Sandbox Code Playgroud)
但我得到很多错误,说没有找到包装,请参阅下面的例子
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)
Run Code Online (Sandbox Code Playgroud)
如果我将这些行添加到我的build.sh文件中它将构建,但我不想使用go get因为我在我的项目中使用本地供应商的1.5以避免依赖.
# go get github.com/gin-gonic/gin
# go get github.com/go-sql-driver/mysql
# go get github.com/rif/cache2go
....
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
IIRC,GO15VENDOREXPERIMENT只有当您正在建造的包裹在里面时才会起作用$GOPATH/src,所以设置
export GOPATH=`pwd`
Run Code Online (Sandbox Code Playgroud)
在你的build.sh使它失败.如果你把你的apps_api内心说出~/fakegopath/src/并运行
env GOPATH="${HOME}/fakegopath/src/" GO15VENDOREXPERIMENT="1" go build .
Run Code Online (Sandbox Code Playgroud)
它应该工作.
| 归档时间: |
|
| 查看次数: |
3701 次 |
| 最近记录: |