||
最近发现多年前发的一个关于mac上fortran编程的帖子浏览量破万了,为了不再误导大家,在这里介绍一个比之前好一万倍的方法--使用MacPorts
Q: MacPorts是什么?
A: MacPorts是Mac OS上的第三方软件管理工具,可以帮你轻松编译、安装和管理开源软件,比如常用的gcc gfortran编译器,科学计算库blas,lapack,版本管理工具git等等。
Q: 为什么要用MacPorts?
A: 安装或卸载软件只需要输入一行命令就搞定一切。不用去网站上手动下载安装,不用担心系统环境变量设置。当然MacPorts自身也许需要设置一下,但是一劳永逸。
Q: 有其他类似的替代品吗?
A: homebrew,口碑也不错。homebrew的软件包比MacPorts少,两者安装目录也不相同。homebrew用的是/user/local(个人非常不习惯),而Macports用的是/opt/local。
Q: 如何使用MacPorts?
A: 从https://www.macports.org/install.php下载并安装
常用的命令如下:
sudo port install xxx 安装软件
sudo port uninstall xxx 卸载软件
sudo port upgrade xxx 更新软件
port info xxx 查看可安装的软件
port installed 查看已安装的软件
sudo port selfupdate 更新MacPorts自己
port outdated 显示可更新的已安装软件
Q: 我想要gfortran,但是portinfo gfortran* 搜不到,怎么办?
A: sudo port install gcc gfortran没有单独的软件包,安装gcc之后就自动有了。
Q: 如果安装了多个不同版本的gcc,可以自由切换吗?
A: port select --list gcc 显示已经安装的gcc版本,当前激活的版本有(active)的标注。
sudoport select --set gcc6 切换为gcc6版本
Q: 安装了gcc 之后,port select 显示新版本已经激活,为什么在terminal里面gcc仍然是Mac自带的旧版本?
A: 这个有点tricky。这是因为系统先从默认的路径(/usr/bin)寻找gcc,然后才是MacPorts的路径(/opt/local/bin)。一种解决方案是编辑/etc/paths文件(sudovim /etc/paths)。因为是只读文件,必须用sudo。只要让 /opt/local/bin在/usr/bin之前出现,系统以后就会先从MacPorts的路径里寻找命令。另一种方案是使用alias。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-4-23 17:17
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社