我应该用go run运行服务器吗。或者./main有什么区别?
我有一台go服务器,通常运行方式如下:我应该用go run运行服务器吗。或者./main有什么区别?,go,Go,我有一台go服务器,通常运行方式如下: go-build.&&&/main 但是在网上我看到很多使用go-run的例子。使用哪一种更好?有什么区别?来自官方文档(go1.11): go-run-编译并运行命名的主go包 go build-编译由导入路径命名的包, 以及它们的依赖项,但它不会安装结果 go install-编译并安装由导入路径命名的包 意思是: 通常对于本地环境,可以使用go-run, 但对于PROD环境,最好使用来构建应用程序,然后运行/main, 但是,如果您需要Go tool
go-build.&&&/main
但是在网上我看到很多使用go-run的例子。使用哪一种更好?有什么区别?来自官方文档(
go1.11
):
go-run
-编译并运行命名的主go包
go build
-编译由导入路径命名的包,
以及它们的依赖项,但它不会安装结果
go install
-编译并安装由导入路径命名的包
意思是:
通常对于本地环境,可以使用go-run
,
但对于PROD环境,最好使用
来构建应用程序,然后运行/main
,
但是,如果您需要Go toolchain,您必须使用Go install
,因为它安装软件包和依赖项并运行/bin/main
(这在dev/stage环境中可能有意义)。从Go help run
获得的文档中有什么不清楚的地方,go-help build
和go-help install
?您可以在这里阅读问题的解释,然后去安装。/main?@CommonSenseCode,go-install
不太可能创建/main
。密切注意每个命令的作用。现在有了模块和GOCACHE,除了最终的构建工件之外,构建
和安装
之间几乎没有什么区别。go安装
与依赖性无关,它构建二进制文件并将其放在$GOPATH/bin
上go-install&&go-build
是不必要的-它只在两个不同的路径上生成两个二进制文件。在开发环境中使用go-run
是一个非常奇怪的选择-我只会在本地使用go-run
,通常不会。如果你想安装依赖项,那就是go-get
@JimBgo-install
不太可能创建/main
,go install
在$GOPATH中创建/bin/main
。