brew 、carthage 安装
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第三方框架。
基本的工作流如下:
创建一个Cartfile,包含你希望在项目中使用的框架的列表
运行Carthage,将会获取列出的框架并编译它们
将编译完成的
.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)
开始使用:
创建一个Cartfile,将你想要使用的框架列在里面
运行
carthage update
,将获取依赖文件到一个Carthage.checkout
文件夹,然后编译每个依赖在你的应用程序target的“General”设置标签中的“Embedded Binaries”区域,将框架从
Carthage.build
文件夹拖拽进去。
在这个过程当中,Carthage将创建一些build artifacts, 其中最重要的是Cartfile.lock
文件,里面将列出每个框架的具体版本,确保你提交了这个文件到版本控制工具里面(如Git、SVN),因为每个用到项目的人都需要它来编译相同版本的框架。
完成上面的步骤并提交你的修改,项目的其他用户就只需要获取该仓库并执行carthage bootstrap
就能使用你所添加的框架。
转载于:https://www.cnblogs.com/leopardsnow/p/4629774.html
brew 、carthage 安装相关推荐
- Carthage 安装以及初步实用
本人从事 iOS 开发已有5年多,用 swift 开发也有一年多的时间了,此前一直利用 cocopods 管理三方框架和依赖,最近了解到 Carthage 这个工具,本着学习的态度对这工具进行了了解. ...
- brew cask安装软件提示:Error: Unknown command: cask
brew cask安装软件提示:Error: Unknown command: cask 问题 ➜ /Users/test > brew cask install mounty Error: U ...
- brew直接安装解压工具
brew直接安装解压工具 $ brew search 7z p7zip $ brew install p7zip ==> Downloading https://downloads.source ...
- mac homebrew 卸载php,Mac_苹果mac电脑中brew的安装使用及卸载详细教程,brew 又叫Homebrew,是Mac OSX上的 - phpStudy...
苹果mac电脑中brew的安装使用及卸载详细教程 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似 ...
- Carthage安装使用
一.Carthage介绍 Carthage是GitHub上开源的.用于Cocoa开发的三方依赖管理工具.GitHub地址:https://github.com/Carthage/Carthage 通过 ...
- brew 无法安装iterm2_Mac系统iTerm2+oh-my-zsh配置及常用插件
iTerm2,是目前Mac平台最好用,功能最强大的终端软件,可以说是Mac系统下终端利器.Mac系统默认使用的终端为bash(MacOS Catalina开始,默认终端已经变成zsh):zsh被喻为& ...
- mac 使用brew卸载安装node
卸载 1. 查看当前安装的node版本: node -v 2. 卸载node: brew uninstall node@版本号 --force 比如安装的是12.18.1,使用brew uninsta ...
- MacOS使用brew无法安装Python_无法安装gdbm_无法安装autojump
文章目录 出现的问题 解决无法安装gbdm的问题 解决无法安装Python的问题 GNU 程序国内下载源:https://mirrors.ustc.edu.cn/gnu/ brew 下载的软件安装包存 ...
- brew 无法安装iterm2_Mac安装sshpass 替代spawn自动登录脚本(解决rz sz问题)
Mac安装sshpass 替代spawn自动登录脚本(解决rz sz问题) 很早前就发现 如果通过 spawn 脚本去登录 服务器,那么 rz sz 指令是无法使用的,具体为什么,网上说就是不支持!. ...
最新文章
- 拒绝从入门到放弃_《Openstack 设计与实现》必读目录
- 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
- 北斗导航 | 精密单点定位软件之rtklib的静态定位测试(RTKlib)
- 手摇泵PHP一32_节能手摇泵的制作方法
- 使用Mockito时遇到的一些问题
- 定时任务的并发_03
- 实现单词大小写不敏感的正则表达式的匹配!
- 清远机器人编程_致敬逆行者:棒棒贝贝为清远援鄂人员子女免费提供一年乐高编程课...
- python可以处理的文件类型_Python学习笔记之数据类型与文件处理
- 简化java_Java泛型太复杂了?如何简化?
- 蓝桥杯 ALGO-151 算法训练 6-2递归求二进制表示位数
- 一款GaN HEMT内匹配功率放大器设计过程详解
- Python输入若干整数求和
- 接入网+承载网+核心网
- linux如何扫描文件格式,Linux系统如何使用扫描仪
- docker如何使用阿里加速器的方法
- P7939 [B1] Alice Wins(easy version)
- 5款高效软件推荐,每一款都是良心之作
- 2023在家赚钱怎么做,有什么适合在家做的副业项目
- 【重识云原生】第一章——不谋全局不足以谋一域
热门文章
- php 写一个大富翁游戏,抽奖系列:如何用纯js做一个大富翁游戏
- python读写excel的图片_python解析excel中图片+提取图片
- 上传身份证照片js_国际快递为什么需要上传身份证,怎么上传?
- 51单片机指针c语言,单片机C语言教程:C51指针的使用
- vc 调试mysql_MySQL数据库的安装调试和VC实现
- oracle 收集统计信息会锁表吗,统计信息锁住导致收集统计信息失败引起sql执行异常...
- 超实用的浏览器插件:CSDN 一键搜索、自定义工具、全站去广告、一键美化等
- Python风格总结:元组tuple
- DCMTK DCMSCU例子
- struts html:radio标签的初始值与判断