我正在开发一个MacOS应用程序,它在aws s3 sync
命令之上提供GUI界面。
应用程序不会对aws
命令是否存在进行任何假设,并尝试通过brew在设置中安装brew
和aws
命令。
我正在使用swift 3中的Process
类并依赖which
命令来检测brew
和aws
命令,如果没有,请尝试安装它。粗略地说,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>
然后删除所有自动安装脚本。
答案 0 :(得分:1)
答案 1 :(得分:1)
AWS命令行工具旨在直接用于执行管理任务。它们不打算嵌入到应用程序中,也不应该尝试自动安装它们。
同样,Homebrew旨在供开发人员用于安装和管理第三方软件。它应该永远不会自动安装,因为它可能会对系统行为产生一些全局影响。
您的应用程序应直接与S3 API交互,或使用库。 (亚马逊没有适用于Cocoa的AWS开发工具包,但有许多第三方选项可用。)