主要观点:在构建新产品时,作者喜欢保持语言的一致性,Terminalwire 需用户在工作站安装客户端,最初以 Ruby Gem 形式构建但效果不佳,后寻找能将 Ruby 打包为可在多机器运行二进制文件的项目,如 Traveling Ruby、Ruby Packer、Tebako 等,最终确定 Tebako 并深入研究其工作方式,还提及若需分发 Ruby 应用为单个二进制文件应避免让用户安装 Ruby,支持 Terminalwire 可获取更多相关内容。
关键信息:
- Terminalwire 需安装客户端,最初用 Ruby Gem 形式构建。
- 寻找将 Ruby 打包为二进制文件的项目,Traveling Ruby 未更新,Ruby Packer 也存在问题。
- Tebako 有更新的网站、详细文档、活跃社区,其工作方式是编译 Ruby 源码及依赖并放入 DwarFS blob 中。
- 评估其他语言后认为当前用 Ruby 更利于快速迭代 Terminalwire。
重要细节: - 安装 Ruby 需
sudo
访问系统且版本可能过旧。 - Traveling Ruby 构建脚本繁琐,原生 gem 需手动配置。
- Ruby Packer 仓库多年未更新且有 100 多个 open issues。
- Tebako 社区对问题响应积极,作者在使用中遇到 async IO 选择器问题。
- 用
ruby-install
和自己的 bash 脚本设置 GitHub Actions 编译 Ruby 遇到依赖问题。 - 考虑 GoLang、Rust 等语言但会影响 Terminalwire 迭代速度。
- 新 Tebako 版本解决问题,作者承诺使用并将深入探讨其相关内容。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。