MacPorts_苹果mac教程

2022-11-08 16:34:08 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。 在macOS上管理软件包,MacPorts和homebrew是不错的选择。但有网友说MacPorts倾向于在自己电脑上编译,而homebrew倾向于使用已经编译好的。这些暂且不论,但有一点,MacPorts是个老牌的工具,它支持的库确实比homebrew多,这让我不得不选择MacPorts.下面简单介绍下MacPorts

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

1.MacPorts安装与卸载

1.1安装

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

代码语言:javascript复制
1.从App Store安装Xcode
2.在terminal执行
3.安装MacPorts安装包 https://distfiles.macports.org/MacPorts/MacPorts-2.3.3-10.10-Yosemite.pkg

1.2卸载

代码语言:javascript复制
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 软件安装与卸载

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

2.2 软件查询

代码语言:javascript复制
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 软件更新

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

2.4 软件打包

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

2.5 其他

代码语言:javascript复制
port lint             # 查看软件配置文件(portfile)是否合法,通常在用户手动修改软件配置文件后使用

3 MacPorts工作流程

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

代码语言:javascript复制
fetch         # 从官网下载源代码或编译好的文件,并放到指定目录
checksum      # 校验下载文件的正确性
extract       # 解压下载的文件到指定目录
patch         # 使用可选的patch文件配置源文件
configure     # 配置软件
build         # 编译软件
test          # 测试软件
destroot      # 将编译好的软件放到某个目录,这个功能可用于处理多个版本的软件
install       # 将软件安装到指定目录,默认为/opt/local。注如之前使用过destroot,这一步会直接安装destroot的软件,否则可能会下载编译好的文件,这视这个软件的portfile而定
activate      # 激活软件,激活之后才能会配置到软件列表中,默认在install后自动调用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190961.html原文链接:https://javaforall.cn

0 人点赞