macos MacPort 包管理工具安装和使用

news2024/11/25 23:00:26

在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 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基本使用

 macport的使用命令和brew的差不多,  常用的有 search 查找软件 , install 安装软件, uninstall卸载软件.

查看版本信息:   port version

搜索索引中的软件: port search xxx

安装新软件: sudo port install xxx

卸载软件: sudo port uninstall xxx

查看已安装软件的信息:  prot  info  xxx

查看有更新的软件以及版本: port outdated

升级可以更新的软件: sudo port upgrade outdated

将指定的版本设置为活动版本, 

示例 将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包参考

  1. macOS 14 Sonoma:

    MacPorts-2.10.1-14-Sonoma.pkg

    macOS 13 Ventura:

    MacPorts-2.10.1-13-Ventura.pkg

    macOS 12 Monterey:

    MacPorts-2.10.1-12-Monterey.pkg

    macOS 11 Big Sur:

    MacPorts-2.10.1-11-BigSur.pkg

    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:

    MacPorts-2.10.1-10.12-Sierra.pkg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2086534.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解锁高效API测试之道:Apipost安装

在当今这个以API为中心的数字时代,无论是开发、测试还是管理API,一个得心应手的工具都能显著提升工作效率。如果你正寻求一款既强大又易于使用的API测试工具,那么Apipost绝对是你不容错过的选择。 接下来,让我们一起去完成这款软件…

zsh 添加 用户@主机 路径显示

export PROMPT"%F{green}%n%F{blue}%F{yellow}%m%F{cyan}:[%~]%f %# " export PROMPT"%F{green}%n%F{blue}%F{yellow}%m%F{cyan}:[%~]%f %$ " bash则为 PS1\u\h:\w\$

vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率

文章目录 什么是Mock数据使用Mock数据的优点Mock数据使用步骤一、安装依赖mockjs、vite-plugin-mock二、vite.config.ts 文件中配置三、在根目录下创建mock文件四、编写api接口调用文件1、src文件夹下新建utils/request.ts2、src文件夹下新建api/user.ts 五、业务页面调用六、M…

ESXI8虚拟机vmdk文件备份到本地硬盘

1. Esxi开启ssh服务 点击“管理”→“服务” →“TSM-SSH”,右击启动 2. 把datastore1中所有虚拟机文件(包括vmdk文件)复制到d:\E1 使用xshell等工具SSH登录ESXI8后台,确认datastore1的具体文件夹路径 在win10,使用cmd,在d:\E1…

docker续3:dockerfile

一、使用Dockerfile创建应用镜像 在Docker file中定义所需要执⾏的指令,使⽤ docker build创建镜像,过程中会按照dockerfile所定义的内容进⾏打开临时性容器,把docker file中命令全部执⾏完成,就得到了⼀个容器应⽤镜像&#xff…

力扣第二阶段Days34

1,题目描述-找出字符串中所有的字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 2&#xff…

安科瑞预付费电能计量装置 功能介绍

安科瑞DTSY1352 三相无线预付费电能表是为测量额定频率 50Hz 的三相交流有功电能设计的高性能设备。这些电能表不仅支持预付费控制、负载和时间控制,恶性负载控制等多种控制模块,还具备多种通信功能,包括 RS485、NB、4G、LoRa、LoRaWAN、Wi-F…

SpringIoc体系结构设计

IOC容器的整体功能 从这个图仔细体会Spring框架加载Bean的过程. 有一个全局观. 1:加载Bean的配置(比如xml配置 注解配置)不同类型资源的加载,解析成生成统一Bean的定义. 2:根据Bean的定义加载生成Bean的实例,并放置在Bean容器中 3:对容器中…

【C++ Qt day2】

2.完成课堂上的多文件编译 head.h main.cpp student.cpp 3. 自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height), 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h…

Sentinel-1 Level 1数据处理的详细算法定义(八)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

PixPin 付费版 - 长截图贴图标注软件工具

在日常的工作和生活中,我们常常需要用到截图工具。而今天,给大家介绍一款功能超级强大的智能截图贴图工具 PixPin。 PixPin 适用于 Win 和 Mac 系统,支持自定义范围或窗口截图,让你可以精准地截取所需内容。 软件的长截图功能是它…

乱弹篇(43)我爱看短视频

今天,本“人民体验官”推广人民日报官方薇搏文化产品《你爱看短视频还是长视频》。 截图:来源“人民体验官”推广平台 人民微博告诉大家,今(29日)天发布的《中国互联网络发展状况统计报告》显示,截至2024年…

Vue 组件封装,父组件传参给子组件,子组件调用父组件。

在 Vue 开发中,组件化是提升代码复用性和可维护性的重要手段。通过组件化,可以将常用的功能封装为独立的组件,并在需要的地方复用。本文将介绍如何在 Vue 中实现父组件与子组件之间的数据传递,以及子组件如何调用父组件的方法。 …

在随机点实现凸包包围游戏地区

讲解视频在连接点之后,想起来两年前看数学书,记住凸包二字,连接敌人外围点,意外找到凸包算法_哔哩哔哩_bilibili //author bilibili 民用级脑的研发记录 // 开发环境 小熊猫c 2.25.1 raylib 版本 4.5 // 2024-7-14 // AABB 碰撞…

Vue——认识day03_事件

此处接上一篇文章Vue——认识day2开始,欢迎大家。 目录 1.事件处理 2.事件修饰符 3.键盘事件 总结 1.事件处理 事件的基本使用有以下几步骤: 使用v-on:xxx或xxx来绑定事件,其中xxx是事件的名称。在methods对象中配置事件的回调函数&…

Java巅峰之路---进阶篇---面向对象(三)

Java巅峰之路---进阶篇---面向对象(三) 抽象类和抽象方法抽象类和方法的介绍抽象类和抽象方法的注意事项小练习 接口接口的介绍接口的注意事项:小练习成员特点与接口的各类关系接口中成员的特点补充:JDK8与JDK9新特性 接口与类之间…

esp32 驱动st7735s 显示数字

图片 下一步把ascii 8*8点阵输入程序,屏幕就可以显示ascii字符了,最终把此显示程序写成函数,输入参数为要显示字符的数组,这样就是st7735的显示驱动程序了。当然还要加入显示自动换行功能。 至于怎样显示ascii,我想到…

美羊羊今天给你讲Python类、对象(包听懂)

在Python中,我们都知道class用于创建类,这都知道吧。有谁不知道,举手!!! 好的,感谢各位的点赞和关注。 一.类是什么东西 类包含两个东西,一个是成员变量,一个是成员方法…

Java、python、php版 美发美甲预约服务平台 美容院管理系统(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

微信小程序引入unocss

今天刚新建一个微信小程序,之前写过一篇《原子化CSS:Unocss的使用》,想着“偷懒”不想定义各种css样式类,于是准备把unocss引入进来使用。 安装与配置 1.安装依赖 npm add -D unocss unocss-preset-weapp2.配置unocss.config.t…