当前位置: 首页 > 工具软件 > MacPorts > 使用案例 >

MacPorts基础教程

解柏
2023-12-01
在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后自动调用


 类似资料: