我已經在我的 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 關注
- 200 瀏覽
添加回答
舉報
0/150
提交
取消