Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
golang项目是如何打包部署的?_Go - Fatal编程技术网

golang项目是如何打包部署的?

golang项目是如何打包部署的?,go,Go,来自JVM背景的我想知道如何将golang项目部署到生产环境中。有JAR文件的等价物吗 是否有一个可以安装在服务器上的独立软件包管理器和一个依赖项清单文件,该文件可以运行以关闭服务器上的所有依赖项。我特别不希望必须在服务器上构建项目,因为我们不能在生产设备上使用任何编译器等 谢谢。如果您运行去安装,二进制文件将被放置在$GOPATH/bin中。您可以将该二进制文件复制到具有相同操作系统和体系结构的另一台机器上 您还可以切换到包含main包的目录中,只需运行go build。二进制文件将放在当前目

来自JVM背景的我想知道如何将golang项目部署到生产环境中。有JAR文件的等价物吗

是否有一个可以安装在服务器上的独立软件包管理器和一个依赖项清单文件,该文件可以运行以关闭服务器上的所有依赖项。我特别不希望必须在服务器上构建项目,因为我们不能在生产设备上使用任何编译器等


谢谢。

如果您运行
去安装
,二进制文件将被放置在
$GOPATH/bin
中。您可以将该二进制文件复制到具有相同操作系统和体系结构的另一台机器上

您还可以切换到包含
main
包的目录中,只需运行
go build
。二进制文件将放在当前目录中


Go二进制文件中没有可供跟踪的依赖项。它是静态链接的。(有些系统库可能是动态链接的,但如果您在同一操作系统上运行,这应该不是问题。)

您只需复制二进制文件。是的,就是这么简单。如果您的应用程序需要部署额外的资产文件、配置文件等,您可以简单地将它们全部放入带有二进制文件的tarball中。或者,某些资产可能会使用诸如@RobNapier之类的工具嵌入到二进制文件中。如果要部署的机器具有不同的配置(OS),那么在这种情况下,您需要交叉编译。