本文将在Linux环境下编译Mongodb。您可以选择已经编译好的版本直接使用,也可以尝试自己编译。https://www.mongodb.org/downloads#production 官方building文档链接在:https://github.com/mongodb/mongo/blob/master/docs/building.md 动手开始:1、Linux,本文选择Ubuntu 14.04 LTS 64bit,下载地址: http://www.ubuntu.com/download/desktop2、包依赖:编译器 gcc g++ clang 安装方式: # sudo apt-get install gcc (4.8.2以上...
本篇文章主要解决mac下安装ProtoBuffer,编译go版本gRPC用的.proto文件 安装 protoc注意,gRPC 需要用到 proto3, 而目前 Release 的版本是 2.6.1, 所以我们需要去下载源码并编译。https://developers.google.com/protocol-buffers/docs/downloads?hl=zh-cn protobuf 的源码在: https://github.com/google/protobuf Mac的特有前置安装需求对Mac 用户来说, Unix tools 默认是不可用的, 需要首先安装 Xcode , 然后在 terminal 运...
get docker imagedocker pull golangbuilddocker run -it --rm -v `pwd`:/root/src -w /root/src golang go build -o httpserver simplehttpserver.go原文:https://www.cnblogs.com/i2u9/p/docker-alpine-golang.html
前言本文列出交叉编译的命令, 全程干货, 不多BB正文本文参考官方文档https://golang.google.cn/doc/install/source#introductionhttps://golang.google.cn/doc/install/source#environment一条基本的编译命令结构如下GOOS=linux GOARCH=amd64 go build main.go这个命令有两个参数(main.go不做解释了)GOOS --> GO,OS 生成文件执行的平台GOPACH --> GO,PACH 平台的架构以上这条命令就是生成在amd64架构的linux上的可执行文件注意...
编译linux可执行文件SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64编译window可执行文件SET CGO_ENABLED=0
SET GOOS=windows
SET GOARCH=amd64 原文:https://www.cnblogs.com/sunlong88/p/15166318.html
jenkins部署go程序(自动编译部署)公众号回复书籍领取学习资料,包括linux,golang,java,js,操作系统,计算机网络,编程经验,算法与数据结构等。什么是jenkins?
【官方介绍】
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
【白话说jenkins】
jenkins可以自动化的编译,测试以及部署代码。当代码发生变化时,只需要点一个按钮就可以自动化的重新编译程序发步程序,你甚至还可以设置定时检测代...
go的grpc环境安装
参考grpc-go官方文档:https://grpc.io/docs/languages/go/quickstart/
视频教程:https://www.bilibili.com/video/BV1zi4y1L7Sf
环境
golang的docker image
$ docker run -it golang:alpine简单准备
# go env -w GO111MODULE=on
//重要:添加代理,参考:https://goproxy.cn/
# go env -w GOPROXY=https://goproxy.cn,direct
//必要的一些工具
# apk add git make gcc g++prorobuf安装
下载protobuf-all-3.8.0.tar...
1.我们看执行编译go语言程序中命令,没有找到exe文件。
前言
部署了夜莺的监控系统,需要部署下邮件发送和企业微信机器人
步骤
打开终端(一定要cmd终端才可以)SET GOOS=linux
SET GOARCH=amd64GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)编译go build
结果
记录一下。
在windows系统编译,然后再Linux系统运行。
在项目目录下运行:
命令:
set GOARM=5
set GOARCH=arm
set GOOS=linux
go build xxx.go //xxx为主程序文件
编译完成之后,启动一个服务(我这里是启动了tomcat服务器,把文件拷贝到tomcat的root下,这里文件的格式是Linux系统能运行的可执行文件格式),
然后 在Linux系统下的某个目录下载此文件,使用 ./xxx 就可以执行程序了。
如有不懂得可以参考这篇文章。
参考...
为啥我也要写golang的交叉编译呢,好多文章都有 但是写的都不明白,搞的我绕了好多弯路
因为他们没写明 用的是cmd还是powershell,我的电脑是win10,用的vscode 默认打开的是
powershell,可是网上写的都是cmd 但是没有写明,我一直都试就是编译不出来,真是气死人
于是就有了这个
cmd:set GOARCH=amd64
set GOOS=linux
go build xxx.gopowershell:$env:GOOS="linux"
$env:GOARCH="amd64"
go build xxx.go真是日了
golang官方文档的介绍, go编译器可以支持12种指令集. 本文编译是arm版本的golang.
编译环境:
Linux ubuntu 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
目标环境:
Linux imx6ulevk 4.1.15imx6ul-GW-4.1.15-1.1.0+ #337 SMP PREEMPT Tue Sep 24 19:57:05 CST 2019 armv7l armv7l armv7l GNU/Linux
<一>: 前置
官方文档上这么介绍Go 1.4 was the last distribution i...
#!/usr/bin/env bash
set -euname_s=`uname -s | awk {print tolower($0)}`
uname_m=`uname -m`
timeTag="-X main.BuildTime=$(date +%Y-%m-%d %H:%M:%S)"
branchFlag="-X main.GitBranch=$(git name-rev --name-only HEAD)"
commitFlag="-X main.CommitId=$(git rev-parse --short HEAD)"
goVersion=`go version | awk {print $3}`
goVersionFlag="-X main.GoVersion=${goVersion}"
staticTag="-extldflags -static" #关闭符号链接...
package mainimport ("fmt""os""os/exec"
)//filepath: 要编译的文件的路径
func build(filepath string){_ = os.Setenv("CGO_ENABLED", "0")_ = os.Setenv("GOARCH", "amd64")_ = os.Setenv("GOOS", "linux")arg := []string{"build", filepath}if err := exec.Command("go", arg...).Run(); err!=nil {fmt.Println("编译失败:", err)} else{fmt.Println("编译成功")}
}func main() {build(`D:\go\file.go`)
}
前言
Golang 支持交叉编译, 在一个平台上生成然后再另外一个平台去执行。 而且编译的工具【build】这个工具是Golang 内置的,不需要你去下载第三方的包啥的,贼方便。
交叉编译
Mac 下编译, Linux 或者 Windows 下去执行
# linux 下去执行
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
# Windows 下去执行
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
Linux 下编译 , Mac 或者 Windows 下去执...