安装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 终端的更多信息可在此处获得)。

UCRT64MinGW64MinGW32终端支持安装Fortran包管理器(fpm)。

打开新终端并更新MSYS2系统

pacman -Syu

你可能需要首先更新MSYS2和pacman,然后重新启动终端并再次运行上述命令以更新已安装的包。

如果你使用的是MinGW64终端,则可以使用

pacman -S git mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-fpm

小技巧

gitgfortran都不是运行fpm的必需依赖项。如果你从外面提供gitgfortran,它们也会被包括进来。

Homebrew包管理器

Fortran 包管理器(fpm)在 MacOS 上的 Homebrew 包管理器中可以获取,只需额外的 tap 即可。要通过 brew 安装 fpm,使用

brew tap awvwgk/fpm
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

备注

conda 包管理器可以从miniforgeminiconda安装。

Spack package manager

Fpm is available with spack in its develop version. To install fpm from spack use

spack install fpm

You can add +openmp to enable parallelization of the target compilation in fpm. To use fpm in your environment load it with

spack load fpm

For more details check the package information here.

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包。

从源代码构建

要从源代码构建 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来调整安装位置。

如果无法运行安装脚本,则可以通过以下三个步骤手动执行自举安装过程:

  1. 下载 fpm 的单一源文件版本

    wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
    
  2. 从单一源文件版本构建引导二进制文件

    mkdir -p build/bootstrap
    gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
    
  3. 使用自举二进制文件构建功能完整的 fpm 版本

    ./build/bootstrap/fpm install