安装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应该可用且功能正常。

pip package manager

PyPI PyPI - Downloads

Fpm is available on PyPI and may be installed with pipx with:

pipx install fpm

The use of pipx instead of pip allows automatically managing a dedicated virtual environment without potential clashes with the host operating system.

备注

The pipx package manager can be installed from sources or from the package manager of your distribution.

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