草庐IT

custom-build

全部标签

go - fork 存储库上的 'go build' 问题

我为GitHub存储库构建了一个二进制文件(go代码),它运行良好。没有问题。我fork了那个repo,并修改了HTML文件中与GO代码无关的一行,为新的forkrepo构建了二进制文件,但它生成的二进制文件引用了原始repo代码,不明白为什么。我什至使用goclean-iall命令清理了所有代码,并手动删除了所有已安装的代码,$home/go/bin和repo目录中的二进制文件,但它仍然指的是原始repo代码而不是新的fork代码。根据Tobias建议的解决方案,我执行了以下步骤:之后,我在那个repo目录下执行了gobuild,但是新的二进制文件还是引用了旧的代码。我什至删除了旧的

build - 如何根据操作系统在 Go 中设置变量

我知道我可以将特定的go文件命名为_windows.go、_linux.go等,这将使它们只针对该特定操作系统进行编译。在文件名中没有指定go操作系统的文件中,有没有一种方法可以根据go操作系统在文件中设置变量和/或常量?也许在案例陈述中? 最佳答案 runtime.GOOS是你的friend。但是,请记住,您不能基于它设置常量(尽管您可以将其复制到您自己的常量中)——只能是变量,而且只能在运行时使用。您可以在模块中使用init()函数在程序启动时自动运行检测。packagemainimport"fmt"import"runtime

go - 为什么 go build 什么都不做?

我在工作中遇到了一个奇怪的问题。我有一个项目。在这个项目中有两个包,每个包都在自己的文件夹中。每个文件夹都包含各种.go文件,这些文件是该包的一部分。在文件夹A中,如果我说gobuild-v,我会得到它正在构建的内容的列表。在文件夹B中,如果我说gobuild-v,我会得到一个没有输出的立即返回。这两个文件夹只包含.go文件,并且没有容易识别的原因为什么它在一个文件夹中构建代码而在另一个文件夹中不构建任何内容。goversion返回goversiongo1.7.5linux/amd64我到底要怎么弄清楚这里发生了什么?编辑:澄清评论中提出的问题:两个文件夹中都没有packagemain

go - 如何更改 "go build"的 lib 路径

我正在尝试使用goncurses。在Centos6上,ncurses库很旧(5.7,想要5.9),所以我从源代码构建ncurses并将其安装到/usr/lib、/usr/include等。我如何告诉“goget”运行/usr/lib中的内容而不是/lib中的系统内容?这是我当前的输出:$goget-vcode.google.com/p/goncursescode.google.com/p/goncurses#code.google.com/p/goncurses/tmp/go-build076024492/code.google.com/p/goncurses/_obj/goncurs

go - 特拉维斯 CI + 去 : creating a specific build flow for different OS

我有一个Go项目,我想使用Travis-CI构建并将其部署到特定的提供商。我熟悉Gimmeproject这将使用交叉编译来做到这一点。但是因为Travis已经支持linux和osx我只需要这个功能来构建Windows。当然,最大的动机是避免交叉编译运行时错误,因为它有很多。我的问题是如何在同一个.travis.yml文件中创建不同的构建流程:原生linux/os构建(带有“os”部分)。使用Gimmme进行Windows编译第一个选项的.travis.yml文件看起来像这样:language:gogo:-1.5.1branches:only:-masteros:-osx-linuxbe

go - Hyperledger Custom Chaincode部署错误

我正在使用Hyperledger处理POC。我已经按照here所述设置了链码设置.我遵循链接中提到的选项1(使用vagrant运行CA服务器和一个副总裁)。在我当前的设置中,我在禁用安全性的情况下运行。我的VP运行良好,我能够很好地启动和注册链码(如前所述here。但是,当我尝试使用以下命令通过CLI部署我的链码时:peerchaincodedeploy-nmycc-c'{"Function":"init","Args":`["hithere"]}'`我收到以下错误Error:Errorbuildingchaincode:rpcerror:code=2desc="Errorgettin

build - Golang 构建约束随机

我有两个在header中具有不同构建约束的go文件。constants_production.go://+buildproduction,!stagingpackagemainconst(URL="production")constants_staging.go://+buildstaging,!productionpackagemainconst(URL="staging")main.go:packagemainfuncmain(){fmt.Println(URL)}当我执行goinstall-tags"staging"时,有时会打印production;有时,它会打印staging

go - 'go build' 和 'go test' 可以有默认标签吗?

具体来说,我正在使用magick包,而我正在使用的功能决定了我总是需要使用“gm”构建标签来构建它。有没有一种方法可以默认声明该构建标记,以便我的项目的“构建”(或“构建测试”)将使用“gm”隐式构建magick? 最佳答案 不,他们不能。您要么必须在cmd行中键入它们,要么使用makefile。 关于go-'gobuild'和'gotest'可以有默认标签吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

go get/build 无法解析仅限本地的项目包

project.go:6:2:cannotfindpackage"example.com/project/package"inanyof:/usr/local/Cellar/go/1.1.2/libexec/src/pkg/example.com/project/package(from$GOROOT)/Users/me/go/src/example.com/project/package(from$GOPATH)Fetchinghttps://example.com/project/package?go-get=1ignoringhttpsfetchwithstatuscode404

angularjs - Golang html/模板 : ParseFiles with custom Delims

在使用template.New("...").Delims("[[","]]").Parse()时,使用带分隔符的模板效果很好但是,我无法弄清楚如何使用template.ParseFiles()获得相同的结果tmpl,err:=template.ParseFiles("base.tmpl","homepage/inner.tmpl")iferr!=nil{panic(err)}tmpl.Delims("[[","]]")p:=new(Page)err=tmpl.Execute(os.Stdout,p)iferr!=nil{panic(err)}我没有错误,但分隔符没有改变。tmpl,e