惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
J
Java Code Geeks
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
IT之家
IT之家
博客园_首页
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
B
Blog
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
博客园 - 聂微东
腾讯CDC
A
About on SuperTechFans

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客 把Hexo永久链接迁移到Astro | 姓王者的博客
Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客
作者:xingwangzhe · 2026-02-10 · via 姓王者的博客

🕒 阅读时间:1 分钟 📝 字数:368 👀 阅读量: Loading...

就在不久之前,MoonBit 官方博客发布了 MoonBit 0.8.0,工具链更新中最让人眼前一亮的就是新增的 moon install 命令。这意味着我们终于可以像使用 cargo installnpm install -g 那样,直接从远程仓库安装预编译的二进制工具了。看到这个消息,我第一反应是——得赶紧把我的 license_checker 项目适配一下,让它能被 moon install 优雅地安装。

踩坑:不是所有包都能被 install

一开始我觉得,只要在 moon.mod.json 里把版本号改一改,然后用户就能直接 moon install xingwangzhe/license_checker 了。结果实际测试的时候发现根本不行——工具链会提示这个包不是可执行的 main 包。翻了翻官方文档才明白:moon install 命令只能安装那些标记了 is-main: true 的可执行包,而我的项目结构是根目录作为库包,真正的 CLI 入口放在 cmd/license-checker 子包里。

这就尴尬了。我的 moon.mod.json 里定义的根包名是 xingwangzhe/license_checker,但这个根包本身并不是可执行的。真正能跑起来的二进制文件,其实是编译 cmd/license-checker 这个子包产生的。按照 MoonBit 0.8 的新语义,正确的安装命令应该是:

moon install xingwangzhe/license_checker/cmd/license-checker

看起来有点绕.但将就这样吧,本身就是一个小玩具,以后说不定官方自己会出一个moon license_checker 这种功能也有可能。

最后吐槽一句

折腾完这一下,功能上倒是没什么问题了。moon install 能正常工作,文档也写得明明白白。但有一个细节让我觉得特别尴尬:工具链目前没有提供 moon uninstall 命令。

也就是说,如果我装完之后发现不想要了,只能手动去 ~/.moon/bin 目录下把二进制文件删掉。有点尴尬啊😓 希望官方后续能补上这个功能,不然每次测试安装都得手动rm,实在有点麻烦。

不过话说回来,MoonBit 0.8.0 仍在不断改进。作为早期用户,能见证这些变化,也算是一种特别的体验吧。