安装fpm
内容
安装fpm¶
本操作指南涵盖了在各种平台上安装Fortran包管理器(fpm)的过程。
下载二进制文件¶
macOS、Linux和Windows(全部为x86-64)平台的fpm各个版本都提供了二进制文件下载,包括最新的发布版,它是fpm主分支最新提交的镜像版本。
访问fpm发行版(release)以查看所有可用版本。可下载文件位于”Assets”下每个版本部分的底部。根据您的操作系统单击相应的链接。例如,要下载macOS的fpm二进制文件,请单击名称中包含macos的链接。下载后,您需要使二进制文件具有可执行权限。在Linux和macOS上,您可以通过键入
chmod +x fpm-0.5.0-linux-x86_64
(可选)将二进制文件放在全局可访问的目录中(即在Linux和macOS上的环境变量PATH
中)。您还可以将二进制文件重命名为fpm,以便于使用。
对于Windows,既有独立的二进制文件,也有适用于fpm的Windows安装程序。
备注
以.sha256
结尾的链接提供加密哈希,您可以使用这些哈希来验证二进制文件的下载是否成功。为了验证下载的二进制文件的完整性,可以在本地计算校验和,并与发行版中提供的校验和进行比较
❯ openssl sha256 -r fpm-0.5.0-linux-x86_64
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 *fpm-0.5.0-linux-x86_64
❯ cat fpm-0.5.0-linux-x86_64.sha256
387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 fpm-0.5.0-linux-x86_64
如果校验和不匹配,则下载很可能不完整,二进制文件无法正常工作。在这种情况下,请重试下载二进制文件并确认校验和匹配。
MSYS2包管理器¶
MSYS2 项目提供了一个包管理器,并使许多常见的 Unix 工具可用于 Windows。
备注
要安装 msys2-x86_64-YYYYMMDD.exe
,请从 MSYS2 网页下载安装程序并运行它。MSYS2 将创建几个新的桌面快捷方式,如 MSYS 终端、MinGW64 终端和 UCRT64 终端(有关 MSYS2 终端的更多信息可在此处获得)。
UCRT64、MinGW64或MinGW32终端支持安装Fortran包管理器(fpm)。
打开新终端并更新MSYS2系统
pacman -Syu
你可能需要首先更新MSYS2和pacman
,然后重新启动终端并再次运行上述命令以更新已安装的包。
如果你使用的是MinGW64终端,则可以使用
pacman -S git mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-fpm
小技巧
git和gfortran都不是运行fpm的必需依赖项。如果你从外面提供git和gfortran,它们也会被包括进来。
Homebrew包管理器¶
Fortran 包管理器(fpm)在 MacOS 上的 Homebrew 包管理器中可以获取,只需额外的 tap
即可。要通过 brew 安装 fpm,使用
brew tap fortran-lang/homebrew-fortran
brew install fpm
二进制发行版适用于MacOS 11(Catalina)和12(Big Sur),适用于x86_64架构。对于其它平台,fpm将自动从源代码本地构建。
在这些步骤之后,fpm应该可用且功能正常。
Conda包管理器¶
fpm可在conda-forge上找到,以将conda-forge添加到你的频道使用:
conda config --add channels conda-forge
fpm可以以下命令安装:
conda create -n fpm fpm
conda activate fpm
或者,如果你希望 fpm 始终可用,直接安装到当前环境中
conda install fpm
Spack包管理器¶
Fpm在spack的开发版本中是可用的。要从spack安装fpm,请使用
spack install fpm
你可以添加+openmp
来启用fpm中目标编译的并行化。要在你的环境中使用fpm,可以用以下命令加载它
spack load fpm
更多细节请查看软件包信息这里。
Arch Linux用户存储库¶
Arch Linux 用户存储库(AUR)包含两个 Fortran 包管理器(fpm)包。使用 fortran-fpm-bin 从发布页面安装静态链接的 Linux/x86_64 二进制文件,而 fortran-fpm 软件包将从源代码引导安装 fpm。
选择其中一个 PKGBUILD 并使用
git clone https://aur.archlinux.org/fortran-fpm.git
cd fortran-fpm
像往常一样,在构建 PKGBUILD 之前,请先检查它。验证 PKGBUILD 是否正常后,使用
makepkg -si
一旦构建通过,pacman 将询问是否安装fpm包。
OpenBSD端口¶
在默认的端口树中有一个用于OpenBSD的端口。要安装fpm,请安装devel/fpm端口,使用
cd /usr/ports/devel/fpm
make install clean
WinGet¶
The installer provided from the fpm release can be used via WinGet to install fpm:
winget install FortranLang.fpm
从源代码构建¶
要从源代码构建 fpm,请获取最新的 fpm 源代码,方法是从 GitHub 克隆存储库
git clone https://github.com/fortran-lang/fpm
cd fpm
或从最新源下载源代码压缩包
wget https://github.com/fortran-lang/fpm/archive/refs/heads/main.zip
unzip main.zip
cd fpm-main
可用的安装脚本允许仅使用 Fortran 编译器,git 和网络访问来引导安装 fpm。调用脚本以启动引导程序构建
./install.sh
fpm将安装在~/.local/bin/fpm
。
备注
从单个源文件版本生成引导程序二进制文件可能需要一些时间,这可能会使安装脚本看起来像是未响应的。
小技巧
可以通过传递选项--prefix=/path/to/install
来调整安装位置。
如果无法运行安装脚本,则可以通过以下三个步骤手动执行自举安装过程:
下载 fpm 的单一源文件版本
wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
从单一源文件版本构建引导二进制文件
mkdir -p build/bootstrap gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
使用自举二进制文件构建功能完整的 fpm 版本
./build/bootstrap/fpm install