精华内容
下载资源
问答
  • 编译golang项目

    2020-09-01 16:05:41
    首先安装golang # 安装golang - 下载对应项目的版本,并解压 ...编写编译脚本 重点是声明GOPATH和将vendor中的文件移动到项目代码平级 脚本如下: #--------------------------------------------------

    首先安装golang

    # 安装golang
     -  下载对应项目的版本,并解压
        tar -C /usr/local/ -xzf go1.10.5.linux-amd64.tar.gz
    
     -  配置bin目录
        export PATH=$PATH:/usr/local/go/bin
    
    

    编写编译脚本

    重点是声明GOPATH和将vendor中的文件移动到项目代码平级

    脚本如下:

    
    #------------------------------------------------------------
    #     机器:root@test
    #     目录:/root/gitlab/
    #     执行:
    #     参数:第一个参数为projectName,第二个参数为tag名称,如果为空则....
    #     /root/gitlab/buildDir/${projectName}_buildDir 为编译目录
    #     /root/gitlab/${projectName} 为git拉取代码目录
    #
    #------------------------------------------------------------
    echo "目前切换tag,没有获得最新代码!!!目前删除目录然后拉取操作替代"
    projectName=goProject1
    tag=goProject1.1.3.0.20200828D1
    
    base_dir=/root/gitlab
    build_dir=${base_dir}/buildDir
    project_build_dir=${build_dir}/${projectName}_buildDir/src/${projectName}
    
    echo "--------按${tag}拉取最新代码--------"
    cd /root/gitlab
    git clone --branch xxx分支 ssh://git@git.test.cn:9999/recommend/${projectName}.git
    cd  ${base_dir}/${projectName}
    git checkout ${tag}
    
    echo "--------拷贝代码到编译目录--------"
    echo "--重新创建编译目录--"
    cd ${build_dir}
    rm -rf ${build_dir}/${projectName}_buildDir
    mkdir -p  ${project_build_dir}
    
    echo "--将项目代码拷贝到编译目录 "
    cp -r ${base_dir}/${projectName}/* ${project_build_dir}
    
    echo "--将vendor文件夹内容移动到src目录下,保持与项目代码平级--"
    mv ${project_build_dir}/vendor/*  ${build_dir}/${projectName}_buildDir/src
    
    echo "--------声明GOPATH--------"
    export GOPATH=${build_dir}/${projectName}_buildDir
    
    echo "--------进入编译目录--------"
    cd ${project_build_dir}
    
    echo "--------开始编译--------"
    go build

     

    展开全文
  • 这是其上安装盒 ,交叉编译golang项目平行。 构建工具链需要很长时间,所以我们应该将其预先安装为box 用法 在应用程序的wercker.yml ,使用以下步骤定义: box : tcnksm/gox@1.4.2 盒子细节 此框基于 Ubuntu ...
  • 这是交叉编译golang项目步骤。 用法 在应用程序的wercker.yml ,使用以下步骤定义: steps: - tcnksm/gox 此步骤将生成二进制文件至${WERCKER_OUTPUT_DIR}/pkg/{{.OS}}_{{.Arch}}/{{.Dir}} 。 选项 您可以使用...
  • LiteIDE编译GOLANG项目报错ltdl.h: No such file or directory解决办法

    在Github上下了一个项目,在使用LiteIDE编译时报错,错误信息如下:

    # github.com/miekg/pkcs11 D:\goproject\src\github.com\miekg\pkcs11\pkcs11.go:29:10: fatal error: ltdl.h: No such file or directory  

    #include <ltdl.h>          

     ^~~~~~~~ compilation terminated. 

    错误: 进程退出代码 2.


    命令行解决方法:go build -tags nopkcs11
    LiteIDE解决办法:编译环境-》自定义-》BUILDARGS:-i -tags nopkcs11


    • 如果在ubunt操作系统中,只需安装:

      apt install libltdl3-dev

       

    • 如果在centos操作系统中,只需安装:

       yum install libtool-ltdl-devel


    问题解决。


    附加内容:安装govendor项目依赖管理工具:

    go get -u github.com/kardianos/govendor 编译 一个 govendor

    找到govendor.exe文件的路径,添加到环境变量中。



    展开全文
  • 一个Docker镜像来编译Go项目(包括protobuf编译器、glide包管理器)
  • go语言是支持多个平台的,包括windows。而且编译完以后执行文件就一个exe文件,可以直接运行,不存在很多依赖。 编译 在windows上安装go的时候,需要设置GOROOT和GOPATH变量,GOROOT就是go运行程序的目录,...

    简介

    go语言是支持多个平台的,包括windows。而且编译完以后执行文件就一个exe文件,可以直接运行,不存在很多依赖。

     

    编译

    在windows上安装go的时候,需要设置GOROOT和GOPATH变量,GOROOT就是go运行程序的目录,GOPATH就是源码的目录。

    一般GOROOT不会修改,但是我们的源码不一定要放在固定的GOPATH的目录下,这时候就需要GOPATH赋值多个目录路径。

    在windows变量继承的分割符是“;”(分号)

    在cmd下设置临时变量,把我们的代码目录加入到变量

    set GOPATH=C:\project\gopro1:C:\gopath

    cd /d C:\project\gopro1

    go install gopro1 或者 go build gopro1

    项目目录结构:

    dir C:\project\gopro1

    src\gopro1\main.go

    pkg

    bin

    如果是使用go build在当前目录就可以找到可执行的gopro1.exe文件,如果是go install 会在bin目录下出现gopro1.exe

     

    总结

    golang在编译完,直接运行的时候,如果是守护进程,一直都是在前台运行的,会出现一个黑黑的窗口,有什么方法可以不出现窗口呢?

    编译的时候直接加入参数编译,运行直接切后台。

    go build -ldflags "-H=windowsgui" example.go

     

    展开全文
  • 编译Go项目时,会提示 unknownimportpath ...Aconnectionattemptfailedbecause ... go:downloadinggithub.com/stretchr/testifyv1.4.0 go:downloadinggithub.com/bitly/go-simplejsonv0.5.0 testClient.go:7:2:...

     起因: 

    你有遇到过类似的问题吗?

    编译Go项目时,会提示 unknown import path ...A connection attempt failed because ...

    go: downloading github.com/stretchr/testify v1.4.0
    go: downloading github.com/bitly/go-simplejson v0.5.0
    testClient.go:7:2: unknown import path "github.com/bitly/go-simplejson": Get https://goproxy.io/github.com/bitly/go-simplejson/@v/v0.5.0.zip: dial tcp 119.28.201.50:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

    截图如下(报错一行较长,截图截不全)

     原因:

    这是由于我在环境变量中设置了全局代理或goland内的局部代理(由于go get 依赖时常失败而设置.):

     解决方法:

    若配置过代理,则取消以上两个代理配置即可正常 go build 项目了~

    展开全文
  • 运行命令 gf build -a amd64 -o linux main.go
  • linux下交叉编译go项目

    2019-10-04 07:15:40
    wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz 2:解压源码 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /opt/go 3:新建GOPAHT目录 mkdir -p /opt/go/GoPa...
  • LiteIDE解决办法:编译环境-》自定义-》BUILDARGS:-i -tags nopkcs11 GOLAND解决办法:菜单栏-》run-》edit configurations-》在Go tool arguments:的-i后边加上 -tags nopkcs11即可 如果在ubunt操作系统中,只需...
  • Goland 编写项目完成,...项目中引用了Go开源Gui: github.com/andlabs/ui package main import ( "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) func main() { err := ui.Main(func() { ...
  • 最小包编译:https://www.jb51.net/article/129003.htm 最小包:https://studygolang.com/articles/12670?fr=sidebar 2、镜像打包 1、使用golang打出来的包太大了,非常占用内存300M+ FROM golang:latest ...
  • 用idea中的go插件运行go语言项目编译的时候连接数据库报错 此处是注册连接sqlite3数据库代码 func initDb() { _ = orm.RegisterDriver("sqlite", orm.DRSqlite) // cfg.WbConfig.DataPath=data 因为我把数据库放在...
  • 问题:编译过程出现cannot find packages的问题, 在本地查看项目下的vendor目录,packages都存在。 在dockerfile中加入 tree $GOPATH 命令。输出内容中发现没有vendor目录。所以才找不到包。 原因 :下载的...
  • <a href="/questions/33872612/are-golang-binaries-portable" dir="ltr">Are Golang binaries portable? 1 answer <p>I'm new to Go, and wonder if I can build my application on my computer...
  • golang编译的方法:1、使用go build命令编译go build命令用于编译我们指定的源码...例如,我们想编译goc2p项目的代码包logging。其中一个方法是进入logging目录并直接执行该命令:hc@ubt:~/golang/goc2p/src/loggi...
  • golang项目编译

    千次阅读 2019-06-20 21:17:13
    项目编译 依赖编译 go build 会生成依赖文件,不方便迁移 使用ldd命令查看依赖文件 无依赖编译 无依赖编译方便迁移 $ CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-w' -i -o homeweb-web ...
  • Github下载go语言编译项目编译过程

    千次阅读 2018-03-13 09:17:49
    Github下载go语言编译项目编译过程1. Go语言简介Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Google对Go寄予厚望。其设计是...
  • GO项目编译上线

    2020-07-15 13:59:00
    2.1 服务器上去编译安装go,配置GOPATH 第一步,把服务器上配置成本地一样的环境 第二部,包括项目里面所依赖的包 第三步,项目源码拷贝到与服务器,服务器上编译 go build main.go 编译后会在同级目录生成可执行....
  • 优势1: gopath限制了工程的编译路径,或者说只要在gopath之外的工程需要编译,就得在gopath里增加这个工程的路径,但是go module改变了这一点,能在任何目录编译自己的项目 优势2: go module增加了依赖的包的管理...
  • golang项目中使用条件编译 C语言中的条件编译 golang中没有类似C语言中条件编译的写法,比如在C代码中可以使用如下语法做一些条件编译,结合宏定义来使用可以实现诸如按需编译release和debug版本代码的需求 #...
  • 最近在用go编译gomod管理的项目时,由于是新安装的go环境(参考go环境安装),在编译的时候出现了三个问题: 1. go的proxy超时:dial tcp 34.64.4.17:443: i/o timeout 2. go get读取用户名失败:terminal ...
  • 欢迎,来自IP地址为:114.229.30.166 的朋友Go语言可以说是编程语言的希望之星,它有着很多面向...Go程序的体系结构依据Go语言的规则,在Go项目文件夹里应该包含三个目录:用于存放源文件;用于存放编译后的包文件...
  • 最近一直在用一些基于GO语言开发的开源项目,也看了一些源代码,感觉相比其他语言有不小的优势。go语言方面go语言本身是一个开源框架,不像java,javac的代码是不开源的,jvm框架,你也是不能修改的,但是go的工具...
  • 如果编译之后直接待文件管理器中双击编译好的可执行文件的话是会导致项目中的配置文件读取不了,要解决这个只需要在命令行中输入 ./打包后的程序名 这样就可以找到目录中的配置文件了
  • 把编译后的class 项目反编译成...GCC(GNU Compile Collection) 是指 GNU 编译器集合,包含下面由golang教程栏目给大家介绍使用windows10下编译go项目为linux可执行文件,希望对需要的朋友有所帮助!事先先下面由gol...
  • gomobile是在安卓中使用golang的工程,既可以全部代码用golang,也可以引用部分golang的代码,但是现在还不成熟,还是试验阶段。不过它不需要像C++那样去手动回收内存。支持的类型Signed integer and floating point...
  • go env检查各项环境变量无误进入shell环境(Windows为cmd环境),切换到项目工程的源码目录(包含main包的那个目录)设置好环境变量,关闭CGO(交叉编译不支持所以要关闭),将编译目标平台的环境变量设置好,然后执行go ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,206
精华内容 25,282
关键字:

编译go项目