安装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 mingw 包

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 fortran-lang/homebrew-fortran
brew install fpm

二进制发行版适用于MacOS 11(Catalina)和12(Big Sur),适用于x86_64架构。对于其它平台,fpm将自动从源代码本地构建。

在这些步骤之后,fpm应该可用且功能正常。

Macports

MacPorts 包

Fortran软件包管理器(fpm)可以通过macports获得,并且可以通过以下方式安装

sudo port install fpm

在这些步骤之后,fpm应该可用且功能正常。

Conda包管理器

Conda (channel only)

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包管理器

Spack 包

Fpm在spack的开发版本中是可用的。要从spack安装fpm,请使用

spack install fpm

你可以添加+openmp来启用fpm中目标编译的并行化。要在你的环境中使用fpm,可以用以下命令加载它

spack load fpm

更多细节请查看软件包信息这里

Arch Linux用户存储库

AUR版本 AUR版本

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端口

在默认的端口树中有一个用于OpenBSD的端口。要安装fpm,请安装devel/fpm端口,使用

cd /usr/ports/devel/fpm
make install clean

WinGet

winget package

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来调整安装位置。

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

  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