最近,我虽然打算用Ruby搭建一个小的CLI,但是却担心在没有安装Ruby的计算机上使用它。我搜索了流行的CLI的示例,发现Docker CLI是用Go language构建的。我可以在未安装Go的计算机上使用此CLI。如何构建不需要您安装Ruby的工具?
我的猜测是,其中涉及一个构建过程,它可能会被编译为大多数系统上存在的内容,例如shell或smth。抱歉,这是一个me脚的猜测/问题!
答案 0 :(得分:1)
(注意:这不是详细的答案,只是其工作原理的摘要) Cli程序与其他程序一样,没有什么特别的。
Go是一种已编译的语言-称为“编译器”的程序会采用go代码并将其直接转换为机器语言,并遵循操作系统的惯例。它变成纯0和1,没有其他引用。主要优点是它是独立的,但是您必须在每种不同的体系结构(32位,ARM处理器等)和操作系统(Windows,Linux,MacOS)上重新编译它-操作系统负责重定向在cli上输入和输出。
Ruby被解释。有一个名为“ Ruby解释器”的程序,可以将您的代码即时转换为适当的机器代码。这是一种不同的方法,它更“高级”。 优点是您不需要重新编译代码。但是,“ Ruby解释器”本身必须用某种编译语言编写。