在macos v10.15版本中, xz, python等软件无法使用brew安装, 原因是brew对于旧版本的macos不再支持, 但是我们可以使用另外一个macos下的包管理工具来安装brew无法安装的软件, macport 是一个和brew类似的macos下的一个非常优秀的软件包安装管理工具.
MacPort安装前提条件
安装macport的前提条件是必须先安装xcode, macos v10.15版本支持的最新版本xcode是xcode 12.4 可以自行登陆苹果官方网站下载安装. 注意这个工具有点大 最少需要约50G的空闲空间才能操作,压缩包有10G, 解压后有30多G.
# apple下载地址,注意这个地址需要登陆苹果账号才能访问
https://download.developer.apple.com/Developer_Tools/Xcode_12.4/Xcode_12.4.xip
Macos v10.15 Catalina安装MacPort
10.15版本需要使用专用的MacPort安装包,推荐使用官方提供的pkg安装包来安装, 其他版本的macos需要根据你自己的mac版本情况下载对于的macport pkg下载后安装,详见https://www.macports.org/install.php#installing里面的版本和安装包说明
下载地址如下:
macOS 10.15 Catalina MacPort专用安装包下载地址:
# 直接下载地址
https://github.com/macports/macports-base/releases/download/v2.10.1/MacPorts-2.10.1-10.15-Catalina.pkg
# 官方文档
https://guide.macports.org/#installing.xcode
这个pkg安装包安装就非常简单了,直接下一步就可以安装好.
MacPort环境配置
macport的port命令安装后的路径为 /opt/local/bin , 需要手动将这个路径加入到系统PATH里面,否则找不到port命令哦.
环境配置方法, 在 ~/.bash_profile 文件里面增加以下配置
# PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
如果还没有 ~/.bash_profile 文件 ,则创建并加入以下配置
# 设置系统环境变量PATH,注意在前面的PATH变量会覆盖后面的
# 修改生效 source ~/.bash_profile
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/local/bin:/opt/local/sbin"
生效环境配置: source ~/.bash_profile
更换为国内的源
macport默认会根据当前的访问IP自动加速,默认情况下不需要手动配置加速源。
手动指定加速源
1. 修改sources.conf
默认是这样的
如果需要可以手动修改文件 /opt/local/etc/macports/sources.conf 在这个文件最后一行 rsync://
开头的改成
# 默认的同步地址
# rsync://rsync.macports.org/macports/release/tarballs/ports.tar.gz [default]
# file:///Users/<usrname>/ports # 自己本地的 ports (可选)
rsync://pek.cn.rsync.macports.org/macports/release/tarballs/ports.tar [default]
2. 修改 macports.conf
默认的是这样的
在文件 /opt/local/etc/macports/macports.conf
里面将上面标红的 #rsync_server
,#rsync_dir 修改为以下
# 指定同步服务器
rsync_server pek.cn.rsync.macports.org
# 指定同步路径
rsync_dir macports/release/tarballs/base.tar
MacPort基本使用
macport的使用命令和brew的差不多, 常用的有 search 查找软件 , install 安装软件, uninstall卸载软件.
查看版本信息: port version
查看Mac Port中当前可用的软件包及其版本:port list
搜索索引中的软件: port search xxx
使用正则匹配索引中的软件: port search --name --line --regex '^php'
这里的正则 '^php' 的意思是查找所有以php开头的软件包
安装新软件: sudo port install xxx
安装完毕之后,清除安装时产生的临时文件: sudo port clean --all xxx
卸载软件: sudo port uninstall xxx
查看已安装软件的信息: prot info xxx
查看包详细信赖信息: port deps xxx
查看安装时允许客户定制的参数: port variants xxx
查看有更新的软件以及版本: port outdated
升级可以更新的软件: sudo port upgrade outdated
重新加载macports文件信息: sudo port -v sync 这里的 -v 是显示调试信息
更新port : sudo port -v selfupdate
port多版本切换 select,将指定的版本设置为活动版本,
我们可以通过查看目录 /opt/local/etc/select 来查看支持select的软件包列表, 可以通过命令:
port select --list python 来查看当前python的版本列表
示例 将python3.12版本设置为默认版本:
# 将python312 设置为python默认版本
sudo port select --set python python312
# 设置python3 命令的默认版本为python312
sudo port select --set python3 python312
注意, macport里面的 python版本的命名和brew有些区别, port里面是这样 python312 , 而brew里面是这样 python@3.12
Macos与对应的MacPort安装pkg包参考
-
macOS 14 Sonoma:
macOS 13 Ventura:
MacPorts-2.10.1-13-Ventura.pkg
macOS 12 Monterey:
MacPorts-2.10.1-12-Monterey.pkg
macOS 11 Big Sur:
macOS 10.15 Catalina:
MacPorts-2.10.1-10.15-Catalina.pkg
macOS 10.14 Mojave:
MacPorts-2.10.1-10.14-Mojave.pkg
macOS 10.13 High Sierra:
MacPorts-2.10.1-10.13-HighSierra.pkg
macOS 10.12 Sierra: