您的位置:首页 > 其它

MacPorts基础教程

2015-05-29 21:49 141 查看
在macOS上管理软件包,MacPorts和homebrew是不错的选择。但有网友说MacPorts倾向于在自己电脑上编译,而homebrew倾向于使用已经编译好的。这些暂且不论,但有一点,MacPorts是个老牌的工具,它支持的库确实比homebrew多,这让我不得不选择MacPorts.下面简单介绍下MacPorts

MacPorts官方文档:https://guide.macports.org/#reference.phases

1.MacPorts安装与卸载

1.1安装

只讲最简单的,从源代码安装和clone分支的安装方式请参考官网。

1.从App Store安装Xcode
2.在terminal执行
3.安装MacPorts安装包 https://distfiles.macports.org/MacPorts/MacPorts-2.3.3-10.10-Yosemite.pkg


1.2卸载

sudo port -fp uninstall installed
sudo rm -rf \
/opt/local \
/Applications/DarwinPorts \
/Applications/MacPorts \
/Library/LaunchDaemons/org.macports.* \
/Library/Receipts/DarwinPorts*.pkg \
/Library/Receipts/MacPorts*.pkg \
/Library/StartupItems/DarwinPortsStartup \
/Library/Tcl/darwinports1.0 \
/Library/Tcl/macports1.0 \
~/.macports


2.常用命令
MacPorts的使用格式通常为: [sudo] port [command] [options] [item]

如 sudo port install gcc

MacPorts中将被管理的软件统称为port.

接下来说几个最常用的:

2.1 软件安装与卸载

port install          # 安装软件,如sudo port install gcc. 注:可添加编译选项
port uninstall        # 卸载软件,如sudo port uninstall gcc.
port clean            # 删除临时文件,通常用于安装失败时。如果正常安装,系统会自动调用。


2.2 软件查询

port list             # 输出可安装的软件
port installed        # 输出已经安装的软件
port outdated         # 输出版本过旧的软件
port search           # 查询某个软件,如 port search gcc
选项如下:  --name                            # 在软件名字中查找(默认开启)
--description, --long_description # 在软件介绍中查找(默认开启)
--line                            # 按行输出查询结果(每个软件的结果只占一行)
--glob                            # 使用模糊查找
--regex                           # 启用正则表达式
--case-sensitive                  # 启用大小写敏感查询
--exact                           # 启用精确查找
--homepage                        # 按官网网址查找
--category, --categories          # 按类型查找
--variant, --variants             # 按编译选项查找
--maintainer, --maintainer        # 按软件维护者查找
--depends, --depends_build, --depends_extract, --depends_fetch, --depends_lib, --depends_run                                                                       # 按依赖查找
port info             # 查看详细软件介绍,如port info gcc.
port contents         # 输出软件的所有内容,包括头文件、库等在系统中的安装位置。如port contents gcc.
port dependents       # 查找软件依赖
port deps             # 查看软件依赖库,如port deps apache2. 注:添加编译选项时可能会获得不同的依赖库
port variants         # 查看软件编译选项,如port varians gcc.


2.3 软件更新

port selfupdate       # 更新MacPorts和MacPorts管理的软件列表(即被管理的软件及其版本),如sudo selfupdate
port upgrade          # 更新软件。写软件名时,只更新这个软件,如sudo port upgrade gcc.否则更新所有软件
port doctor           # 检查MacPorts是否出问题及问题所在
port reclaim          # 删除无用的文件和软件来释放空间


2.4 软件打包

port pkg              # 打包软件为pkg格式,如sudo port pkg gcc。其他支持的格式为:dmg,mpkg,mdmg.
port work             # 显示安装包路径。指定软件可获得某个软件的打包路径,如port work gcc。如无打好的包,则会输出路径


2.5 其他

port lint             # 查看软件配置文件(portfile)是否合法,通常在用户手动修改软件配置文件后使用


3 MacPorts工作流程

MacPorts将软件的配置分为几个流程,然后将各个软件的配置写到各自的文件中,其中某些子流程视情况可以缺失。大致流程大致如下:

fetch         # 从官网下载源代码或编译好的文件,并放到指定目录
checksum      # 校验下载文件的正确性
extract       # 解压下载的文件到指定目录
patch         # 使用可选的patch文件配置源文件
configure     # 配置软件
build         # 编译软件
test          # 测试软件
destroot      # 将编译好的软件放到某个目录,这个功能可用于处理多个版本的软件
install       # 将软件安装到指定目录,默认为/opt/local。注如之前使用过destroot,这一步会直接安装destroot的软件,否则可能会下载编译好的文件,这视这个软件的portfile而定
activate      # 激活软件,激活之后才能会配置到软件列表中,默认在install后自动调用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: