macos macport软件包管理工具 sudo port install xxx 安装的软件的路径 与 brew install xxx 软件安装路径总结

macos下优秀的软件包管理工具 macport 和brew 安装软件后他们的安装路径是有区别的, macport包管理工具的 sudo port install xxx安装的软件的路径一般位于 /opt/local路径下的 bin, include, lib, share 文件夹内 ,而 通过brew install xxx 安装后的软件的路径一般位于**/usr/local/Cellar/xxx/版本号/ ,**了解这点对于我们正确使用包管理工具很重要。 下面我们就以 使用sudo port install m4 和brew install m4 安装这个软件包后他们的路径来说明区别。

macport软件包管理工具

查找可用软件包: port search m4

安装软件: sudo port install m4

当我们使用port安装了 同一个软件的多个软件包时,我们通过port select --set 默认版本 安装版本 来设置默认的生效软件版本,如将python版本设置为3.12版本**:**port select --set python python312

macport包管理工具的软件包都位于**/opt/local/var/macports/software/文件夹下, 安装后的文件默认都存储于公共的 /opt/local**/bin 等文件夹下。

从上图中我们可以得知,我们使用sudo port install m4 安装的这个m4软件包安装后的主要文件路径信息如下:

复制代码
 /opt
    └── local
        ├── bin
        │   └── gm4
        ├── libexec
        │   └── gnubin
        │       ├── m4 -> /opt/local/bin/gm4
        │       └── man
        │           └── man1
        │               └── m4.1.gz -> /opt/local/share/man/man1/gm4.1.gz
        └── share

通过上面的路径信息我们可以看出, 我们通过port安装的m4软件包安装后不需要单独设置PATH即可运行,因为gm4 这个可执行文件默认位于公共的路径/opt/local/bin/ 中, 当然,如果我们要执行m4的话还是需要将路径 /opt/local/libexec/gnubin 添加到系统的PATH变量中,既:

bash 复制代码
echo 'export PATH="/opt/local/libexec/gnubin:$PATH"' >> ~/.zshrc

brew包管理工具

查找软件包: brew search m4

安装软件包: brew install m4

当我们使用brew安装了 同一个软件的多个软件包时, 我们可以通过 brew link xxx 来让brew帮我们创建默认的软件包的软连接。

brew安装的软件包,可以通过 brew info xxx 来查看当前安装的软件的信息,包含路径信息等, 如:

从上图中我们可以看出 brew 安装的软件包的路径相对于port 更直观一些, 因为他使用软件包的名称和版本作为文件夹来单独存储软件包的文件信息 。 同时brew会自动帮我们创建一个当前软件的默认版本的软链接到 /usr/local/opt/xxx , 如: /usr/local/opt/m4 自动帮我们链接到了 /usr/local/Cellar/m4/1.4.19 文件夹下,这样我们在配置环境变量的时候就不用带版本号,版本就由brew来帮我们管理

对于这种路径,我们在使用的时候就需要手动配置一下对应的路径到我们的系统环境变量中。

总结: sudo port install xxx 安装的文件都位于公共目录 /opt/local/{bin,lib,include}等路径下,如果我们需要查看某个软件的安装文件信息,可通过**/opt/local/var/macports/software/**文件夹下软件包名称中的opt文件里面的路径信息查看。 brew安装的软件包信息就相对简单,我们直接通过brew info xxx即可查看软件包的安装路径和相关的配置信息。

相关推荐
福大大架构师每日一题41 分钟前
rust 1.99.1 正式更新:聚焦 UEFI、嵌入式、x86_64 FFI 与 macOS 链接体验的三项修复
开发语言·macos·rust
雪域迷影1 小时前
MacOS中杀掉某个端口占用的进程
macos·端口·强杀进程
ManageEngine卓豪14 小时前
企业 Mac终端如何统一管控?配置、补丁与应用的落地框架
macos·mdm·uem·终端管理系统
黑化旺仔19 小时前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
Web3&Basketball2 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
DevLoom_2 天前
macOS 27 升级翻车怎么降级?不用终端,2 种方案实测回退旧系统
macos·macos27·mac系统降级·macos安装盘·mac使用技巧
向着光芒的女孩2 天前
【Mac】腾讯视频会议在Mac电脑屏幕共享失败解决方案
macos
あ-3 天前
mac dbeaver安装后显示数据包损坏
macos
钱栈up3 天前
从 macOS 切回 Windows,我用 5 个免费工具把 80% 操作习惯搬了回来
windows·macos·策略模式
9144062323 天前
mac Git 账户切换问题
git·macos