gpt4 book ai didi

linux - 在 Linux 中运行 Google Go 二进制文件的无效参数

转载 作者:IT王子 更新时间:2023-10-29 02:15:50 24 4
gpt4 key购买 nike

我用 Go 编写了一个非常小的应用程序,并配置了一个 AWS Linux AMI 来托管。该应用程序是一个非常简单的 Web 服务器。我按照官方文档中的说明在 Linux VM 上安装了 Go。当使用“go run main.go”命令调用时,我的应用程序按预期运行。

但是,当我尝试手动启动因运行“go install”而生成的二进制文件时,收到“无效参数”错误。相反,如果我运行“go build”(据我所知,这本质上是同一件事,但有一些异常(exception)),然后调用生成的二进制文件,应用程序将按预期启动。

我从 $GOPATH/bin/ 文件夹中调用文件,如下所示:

./myapp

我还在 $PATH 变量中添加了 $GOPATH/bin。我还将二进制文件从 $GOPATH/bin/ 移动到 src 文件夹,并从那里成功运行它。

Linux实例是64位实例,我安装了对应的Go 64位安装

最佳答案

go build 构建一切(即所有依赖包),然后生成生成的可执行文件,然后丢弃中间结果(参见 this 的替代方案采取;同时考虑仔细阅读 go help buildgo help install 的输出。

go install,相反,如果找到它们,则使用依赖包的预编译版本;否则它也会构建它们,并安装在 $PATH/pkg 下。因此,我可能会建议 go install 看到一些过时的包,这些包会破坏生成的构建。

考虑在 $GOPATH/src 中运行 go install ./...。或者可能只是为每个依赖包选择 go install uri/of/the/package,然后重试构建可执行文件。

关于linux - 在 Linux 中运行 Google Go 二进制文件的无效参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com