我正在开发一个在aws s3 sync命令之上提供图形用户界面的MacOS应用程序。
该应用程序不会假设是否存在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>,然后删除所有自动安装脚本。
发布于 2017-06-11 08:52:16
您可以尝试使用捆绑的安装程序。
http://docs.aws.amazon.com/cli/latest/userguide/awscli-install-bundle.html
发布于 2017-06-11 09:26:56
AWS命令行工具旨在直接用于执行管理任务。它们并不打算嵌入到应用程序中,您的应用程序也不应该尝试自动安装它们。
同样,Homebrew旨在供开发人员用于安装和管理第三方软件。它永远不会自动安装,因为它可能会对系统行为产生一些全局影响。
您的应用程序应该直接或通过使用库与S3应用程序接口进行交互。(亚马逊没有用于Cocoa的AWS SDK,但有许多第三方选项可用。)
https://stackoverflow.com/questions/44443825
复制相似问题