博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
brew 、carthage 安装
阅读量:5158 次
发布时间:2019-06-13

本文共 1880 字,大约阅读时间需要 6 分钟。

 

1.首先安装brew

安装命令如下:

curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1

然后执行如下命令获取最新版本:

brew update

当brew安装成功后,就可以随意安装自己想要的软件了,例如carthage,命令如下:

sudo brew install carthage

卸载的话,命令如下:

sudo brew uninstall carthage

不过这个时候安装可能会报如下错误(新买的电脑。。。)

Error: Could not create /usr/local/Cellar

Error: Permission denied - /Library/Caches/Homebrew/Formula/carthage.brewing

解决方法 :

解决第一个Error

1  ->   命令: sudo chown -R $USER /usr/local

解决第二个Error

2 -> 命令:sudo chown -R $USER /Library/Caches/Homebrew/

最终brew install carthage 就静静的等待安装就行了

 

================================================

接下来简单介绍下brew 和carthage

 

brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便

brew类似ubuntu系统下的apt-get的功能

安装brew

brew 的官方网站: http://brew.sh/   在官方网站对brew的用法进行了详细的描述

 

其他brew命令

brew list           列出已安装的软件

brew update     更新brew

brew home       用浏览器打开brew的官方网站

brew info         显示软件信息

brew deps        显示包依赖

 

Carthage的目标是用最简单的方式来管理Cocoa第三方框架。

基本的工作流如下:

  1. 创建一个Cartfile,包含你希望在项目中使用的框架的列表

  2. 运行Carthage,将会获取列出的框架并编译它们

  3. 将编译完成的.framework二进制文件拖拽到你的Xcode项目当中

Carthage编译你的依赖,并提供框架的二进制文件,但你仍然保留对项目的结构和设置的完整控制。Carthage不会自动的修改你的项目文件或编译设置。

 

Carthage与CocoaPods的不同

1、CocoaPods默认会自动创建并更新你的应用程序和所有依赖的Xcode workspace,Carthage使用xcodebuild来编译框架的二进制文件

2、CocoaPods的方法更易于使用,但Carthage更灵活并且是非侵入性的。

3、CocoaPods项目同时还必须包含一个podspec文件,里面是项目的一些元数据,以及确定项目的编译方式,Carthage使用xcodebuild来编译依赖

4、Carthage没有总项目的列表,这能够减少维护工作并且避免任何中心化带来的问题(如中央服务器宕机)

总结:如果你使用一个尽可能简单地工具那就carthage吧,cocoaPods功能相对多些,但是使用起来也相对麻烦(个人还是喜欢使用cocoaPods)

开始使用:

  1. 创建一个Cartfile,将你想要使用的框架列在里面

  2. 运行carthage update,将获取依赖文件到一个Carthage.checkout文件夹,然后编译每个依赖

  3. 在你的应用程序target的“General”设置标签中的“Embedded Binaries”区域,将框架从Carthage.build文件夹拖拽进去。

在这个过程当中,Carthage将创建一些build artifacts, 其中最重要的是Cartfile.lock文件,里面将列出每个框架的具体版本,确保你提交了这个文件到版本控制工具里面(如Git、SVN),因为每个用到项目的人都需要它来编译相同版本的框架。

完成上面的步骤并提交你的修改,项目的其他用户就只需要获取该仓库并执行carthage bootstrap就能使用你所添加的框架。

 

转载于:https://www.cnblogs.com/leopardsnow/p/4629774.html

你可能感兴趣的文章
用JS实现版面拖拽效果
查看>>
二丶CSS
查看>>
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
Hibernate主键生成策略
查看>>
Crushing Machinery - Strong Support of Cement Enterprise
查看>>
AsyncTask
查看>>
Django框架(十九)—— drf:序列化组件(serializer)
查看>>
JS一些概念知识及参考链接
查看>>
关于JS中&&和||用法技巧
查看>>
suoi14 子树查找 (dfs)
查看>>
密闭类、密闭方法
查看>>
创建线程有几种不同的方式
查看>>
大话重构连载9:大布局你伤不起
查看>>
nginx处理跨域
查看>>
kubectl相关指令
查看>>
Kubernetes基石-pod容器
查看>>
Kubernetes组件-CronJob(定时任务)
查看>>
.Net Core 3.0原生Json解析器
查看>>
Kubernetes-Service(服务)
查看>>
Kubernetes---Pod笔记
查看>>