使用macos app运送aws-cli

时间:2017-06-08 19:12:35

标签: swift macos swift3 aws-cli

我正在开发一个MacOS应用程序,它在aws s3 sync命令之上提供GUI界面。

应用程序不会对aws命令是否存在进行任何假设,并尝试通过brew在设置中安装brewaws命令。

我正在使用swift 3中的Process类并依赖which命令来检测brewaws命令,如果没有,请尝试安装它。粗略地说,swift 3接口的脚本看起来像这样

#!/bin/sh

export PATH=$PATH:/usr/local/bin

if ! [ -x "$(command -v $1)" ]; then
    echo $2
    if [ $1 == "brew" ]; then
        /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" &>/dev/null
    fi
    if [ $1 == "aws" ]; then
        brew install awscli &>/dev/null
    fi
fi

但是在不同的MacOS版本上,我遇到了管理自动安装的问题。

我想知道是否可以通过应用程序发布特定版本的“awscli”。我正在寻找像

这样的东西

cp /usr/local/bin/aws <project folder>然后删除所有自动安装脚本。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

AWS命令行工具旨在直接用于执行管理任务。它们不打算嵌入到应用程序中,也不应该尝试自动安装它们。

同样,Homebrew旨在供开发人员用于安装和管理第三方软件。它应该永远不会自动安装,因为它可能会对系统行为产生一些全局影响。

您的应用程序应直接与S3 API交互,或使用库。 (亚马逊没有适用于Cocoa的AWS开发工具包,但有许多第三方选项可用。)