繁体   English   中英

带有启动路径 /usr/bin/swift 的进程是否需要在 Mac 上安装命令行工具?

[英]Does Process with Launch Path /usr/bin/swift requires Command Line Tools to be installed on Mac?

我正在开发一个 mac 应用程序,我需要使用不同的 swift 脚本来执行不同的操作。

            let outputPipe = Pipe()
            let errorPipe = Pipe()
             
            let task:Process = Process()
            task.launchPath = "/usr/bin/swift"
            task.arguments = [filePath, scriptInput.string]
            task.standardOutput = outputPipe
            task.standardError = errorPipe
            task.launch()

为了执行 swift 脚本,我正在使用启动路径 /usr/bin/swift 初始化进程。 在没有安装 xcode 的 Mac 上,我的应用程序要求下载命令行工具。

是否需要在 mac 中安装命令行工具才能运行 swift 脚本?

的,Swift“脚本”(Swift 文件直接使用swift运行——在幕后,编译到一个临时目录然后立即执行)需要命令行工具或目标机器上的完整 ZA3B5EBD8A1E9EBF7 安装脚本需要做)。

macOS 没有预装 Swift 编译器(或其他开发工具),因此在目标机器上编译 Swift 需要安装它。 macOS 上预装的/usr/bin/swift在运行时会提示进行此安装 - 安装工具将覆盖/usr/bin/swift以便能够编译 Swift。

如果您尝试在您的应用程序旁边分发和运行这样的“脚本”,您需要确保最终用户安装了命令行工具(或提示他们按照说明自行安装),或者预编译将这些脚本添加到您的应用程序中,因此您无需依赖/usr/bin/swift 后者可能更受欢迎:为什么您需要在外部脚本中运行操作,为什么您的应用程序不能自己执行这些操作?

如果您的应用程序打算帮助用户运行他们自己的脚本,他们也需要安装这些工具。


请注意,这不是/usr/bin/swift独有的。 例如,macOS 还附带一个/usr/bin/git ,它会提示相同的内容。 命令行工具是许多与开发人员相关的基本命令行工具所必需的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM