有没有办法构建不需要依赖项的 CLI?



最近我虽然想用Ruby搭建一个小CLI,但担心在没有安装Ruby的机器上使用它。我搜索了流行的 CLI 示例,发现 Docker CLI 是用 Go 语言构建的。我可以在没有安装 Go 的情况下在计算机上使用此 CLI。如何构建一个不需要您安装 Ruby 的工具?

我的猜测是,这涉及到一个构建过程,它可能会被编译成大多数系统上存在的东西,比如 shell 或 smth。对不起,如果这是一个蹩脚的猜测/问题!

(注意:这不是详细的答案,只是它是如何工作的总结( CLI 程序就像其他程序一样,它们没有什么特别之处。

Go 是一种编译语言 - 一个名为"编译器"的程序按照操作系统强加的约定获取 go 代码并将其直接翻译成机器语言。它变成了纯 0 和 1,没有对其他任何东西的引用。主要优点是它是独立的,但你必须在每个不同的架构(32位,arm处理器等(和操作系统(windows,linux,macos(上重新编译它 - 它是负责重定向输入和输出的操作系统在cli上。

相反,Ruby被解释为。有一个名为"Ruby解释器"的程序,它可以将您的代码即时转换为适当的机器代码。这是一种不同的方法,它更"高级"。 优点是不需要重新编译代码。但是,"Ruby 解释器"本身必须用某种编译语言编写。

最新更新