登录
首页 >  Golang >  Go问答

构建一个在共享服务器上编译应用程序所需的全面Go开发环境

来源:stackoverflow

时间:2024-02-23 13:54:24 187浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《构建一个在共享服务器上编译应用程序所需的全面Go开发环境》,聊聊,我们一起来看看吧!

问题内容

一些背景故事:

我正在为学校创建我的第一个 go web 应用程序。教授说我可以使用go。我问他是否可以使用最新版本 1.13,而不是服务器上安装的版本 1.10,来利用模块管理功能和更新的错误模块。他没有说我被限制在1.10,甚至给了我服务器管理员的联系信息。我联系了我的教授 cc 的服务器管理员,他说他不想在学期中期更新服务器的 go 版本。然后,他在我的主目录中提供了有关如何下载、安装和使用我需要的任何 go 版本的说明。

选择您的版本: https://golang.org/dl/ 将其设置为您自己使用: https://golang.org/doc/install

我安装了 go 1.13 并更新了我自己的环境变量以反映此版本,一切正常。

嗯,另一个要求是我必须将我的项目交给我的教授,并且它必须在服务器上编译。我在想,如果我给他一个包并指导他如何构建它,那么到目前为止我在技术上已经满足了该项目的要求。

我的问题是,go 是否有任何东西可以采用我的 go v1.13 环境并将所有内容打包,以便项目可以在目标服务器上编译?我只能找到类似“只需将项目二进制文件复制到生产服务器”的解决方案,但这对我没有帮助。我需要它在生产服务器上编译。此外,我尝试将二进制文件复制到生产服务器,但它找不到我的 html 模板(存储在 ./ui/html/ 目录中),但我想这将在本次讨论中得到解决,或者稍后保存到另一个 so 问题。

student@universityserver:~$ ./web
INFO    2019/09/22 10:21:52 Starting server on :5089
INFO    2019/09/22 10:23:03 :63527 - HTTP/1.1 GET /
ERROR   2019/09/22 10:23:03 handlers.go:29: open ./ui/html/home.page.tmpl: no such file or directory

我现在唯一能想到的就是基本上添加他们需要的所有内容(go amd64 二进制发行版和所有模块)并编写一个处理所有内容的脚本(在本地文件夹中提取 go、导出环境变量、构建等) .)

亲爱的教授。 将此 tarball 复制到您的主目录,解压,运行 build_my_goapp.sh 脚本。 真挚地, 你的学生


解决方案


就我而言,答案是我可以提供一个 Makefile 来完成我需要它做的任何事情。

(这实际上是对已上交项目的良好实践,即使不是期望。)

要求是我的项目需要在服务器上编译,并且我必须提供 Makefile。因此,我的项目的 Go 环境的任何下载、安装和设置都可以完成,只要一切都发生在用户环境中,并且不需要 sudo 才能正确安装。服务器没有Docker。

本篇关于《构建一个在共享服务器上编译应用程序所需的全面Go开发环境》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>