前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MacPorts_苹果mac教程

MacPorts_苹果mac教程

作者头像
全栈程序员站长
发布2022-11-08 16:34:08
6920
发布2022-11-08 16:34:08
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。 在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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月21日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档