我已经在我的 manjaro linux 上使用 go 版本“go1.11.5 linux/amd64”配置了它。以下程序构建为二进制文件,该二进制文件直接在我的 go 文件夹和我的主文件夹中运行。package mainimport "fmt"func main() { fmt.Printf("hello, world\n")}一旦它在我的本地系统上运行,我决定使用 ftp 将这个二进制文件上传到远程 ubuntu 18.04 服务器。我已将二进制文件复制到服务器主文件夹中。chmod 755 使其可执行。chown 将用户更改为服务器的当前登录用户。在服务器上安装了 go 版本“go1.11 linux/amd64”。当我尝试执行二进制文件时,它给了我以下异常Segmentation fault让我知道我还需要分享什么来完成这项工作。我有另一个用杜松子酒和许多其他包构建的项目。我需要配置那个二进制文件以在同一台服务器上提供 api。因为那行不通,所以我决定使用这个死掉的简单二进制文件,但令我惊讶的是,这行不通。让我为本地和远程系统发布 go env。go env on local GOARCH="amd64"GOBIN=""GOCACHE="/home/najam/.cache/go-build"GOEXE=""GOFLAGS=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOOS="linux"GOPATH="/home/najam/go"GOPROXY=""GORACE=""GOROOT="/usr/local/go"GOTMPDIR=""GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"GCCGO="gccgo"CC="gcc"CXX="g++"CGO_ENABLED="1"GOMOD=""CGO_CFLAGS="-g -O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g -O2"CGO_FFLAGS="-g -O2"CGO_LDFLAGS="-g -O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build859876677=/tmp/go-build -gno-record-gcc-switches"
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
所以在 golang slack guys 的超级帮助下。我建立使用
CGO_ENABLED=0 GOOS=linux go build -o najamgo hello.go
在我使用之前
go build hello.go
然后,因为我使用的是 ftp,所以我不得不将传输类型从“自动或 acscii”更改为“二进制”。然后从那时起,只需对上传的文件进行 chmod 即可使其可执行。
sudo chmod 755 hello
最后执行二进制文件。
./hello
及其工作。
- 1 回答
- 0 关注
- 144 浏览
添加回答
举报
0/150
提交
取消