当前位置: 首页
编程语言
如何在Ubuntu上打包Golang的命令行工具

如何在Ubuntu上打包Golang的命令行工具

热心网友 时间:2026-05-02
转载

在Ubuntu上打包Golang的命令行工具

想把用Go写的命令行工具打包成Ubuntu上方便安装的.deb文件?这事儿其实没想象中那么复杂。只要按部就班走完下面几个关键步骤,你就能得到一个可以分发的专业安装包。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

如何在Ubuntu上打包Golang的命令行工具

第一步:打好基础,安装Go环境

首先,得确保你的Ubuntu系统已经装好了Go语言环境。如果还没安装,打开终端,两条命令就能搞定:

sudo apt update
sudo apt install golang-go

第二步:编写你的核心工具代码

接下来,用你顺手的文本编辑器创建一个Go文件,比如就叫main.go。把你的命令行工具功能都实现在这里面。这里有个关键细节:文件顶部的包声明,对于要生成可执行文件的命令行工具,务必使用package main

第三步:编译生成可执行文件

代码写好之后,打开终端,切换到main.go所在的目录。执行编译命令:

go build -o mycli main.go

运行成功的话,当前目录下就会生成一个名为mycli的可执行文件。你可以先运行./mycli试试,确保功能正常。

第四步:构建DEB包的目录结构

打包.deb文件,需要遵循特定的目录格式。先创建一个专门用于打包的目录:

mkdir mycli-deb

然后进入这个目录,并创建一个至关重要的DEBIAN子目录:

cd mycli-deb
mkdir DEBIAN

第五步:填写包的“身份证”——control文件

DEBIAN目录里,创建一个名为control的文件。这个文件包含了软件包的元数据信息:

nano DEBIAN/control

文件内容大致如下,你需要根据实际情况修改:

Package: mycli
Version: 1.0.0
Architecture: amd64
Maintainer: Your Name 
Description: A brief description of your CLI tool

填好后保存退出。这里面的PackageVersionMaintainer信息,是后续安装和管理的重要依据。

第六步:放入编译好的程序

现在,把之前编译好的mycli可执行文件,复制到打包目录的根位置:

cp ../mycli mycli-deb/

当然,如果你的程序结构更复杂,可能还需要创建类似usr/local/bin这样的子目录来存放它,这取决于你希望的最终安装路径。

第七步:执行打包,生成最终DEB文件

万事俱备,最后一步就是运行打包命令:

dpkg-deb --build mycli-deb mycli_1.0.0_amd64.deb

命令执行成功后,一个名为mycli_1.0.0_amd64.deb的安装包就诞生了。文件名通常遵循“包名_版本_架构”的约定,清晰明了。

安装与分发

拿到.deb文件后,在其他Ubuntu系统上安装就非常简单了,只需要一条命令:

sudo dpkg -i mycli_1.0.0_amd64.deb

看,整个过程是不是很清晰?从代码编译到打包成标准的Ubuntu安装包,每一步都环环相扣。遵循这个流程,你就能轻松地将自己的Golang命令行工具专业化地分发出去。

来源:https://www.yisu.com/ask/66371976.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
VSCode自定义侧边栏图标_深度美化你的工作区布局

VSCode自定义侧边栏图标_深度美化你的工作区布局

VSCode自定义侧边栏图标:深度美化你的工作区布局 怎么让自定义侧边栏图标真正显示出来 想让VSCode侧边栏换上自己的图标?这里有个关键认知需要先建立:VSCode本身并不支持通过用户设置文件,直接给任意视图“贴”上一个新图标。所谓的自定义,其本质是在你的扩展package json文件中,为v

时间:2026-05-03 07:34
Ubuntu下phpstorm的性能监控方法

Ubuntu下phpstorm的性能监控方法

Ubuntu下PhpStorm性能监控方法 当PhpStorm在Ubuntu上运行变得迟缓时,问题可能出在系统资源、IDE配置,甚至是你的PHP应用本身。别急着重启,一套清晰的监控和定位方法,往往能更快地解决问题。下面就从系统到IDE,再到应用层,梳理一下关键的监控工具和优化思路。 一 系统级监控工

时间:2026-05-03 07:34
Sublime安装插件没反应怎么办?解决Sublime Package Control报错问题

Sublime安装插件没反应怎么办?解决Sublime Package Control报错问题

Package Control插件无反应?别急,90%的问题出在这两条链路上 遇到Package Control装上了但插件没反应,先别急着怀疑插件本身。十有八九,问题根源在于channel列表加载失败,或者是某个关键的Python依赖模块缺失。把这两条链路打通,问题往往迎刃而解。 现象一:Pack

时间:2026-05-03 07:33
如何在Ubuntu中升级phpstorm

如何在Ubuntu中升级phpstorm

在 Ubuntu 上升级 PhpStorm 的常用方式 想让你的 PhpStorm 时刻保持最佳状态吗?在 Ubuntu 系统上,其实有几种相当便捷的升级路径可选。 自动更新:这是最省心的方式。打开 PhpStorm,依次进入 File → Settings → Appearance & Beha

时间:2026-05-03 07:33
Ubuntu上phpstorm的文件共享怎么设置

Ubuntu上phpstorm的文件共享怎么设置

Ubuntu上 PhpStorm 文件共享设置 一、常用方案与选择 在Ubuntu环境下为PhpStorm配置文件共享,其实有几个相当成熟的方案可选。每种方案都有其最佳适用场景,选择哪一个,很大程度上取决于你的开发环境和协作需求。 SFTP(推荐):这是最常用、最灵活的方式。通过SSH协议直接连接远

时间:2026-05-03 07:33
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程