安装 fpm

本操作指南涵盖如何在各种平台上安装 Fortran 包管理器 (fpm)。

下载二进制文件

对于 fpm 的每个版本,以及镜像 fpm 主分支中最新提交内容的最新(正在开发)版本,都可以下载适用于 macOS、Linux 和 Windows(均为 x86-64)的二进制文件。

导航至 fpm 发行版 以查看所有可用的发行版。可下载文件位于每个发布部分的底部,位于 资产 下方。根据你的操作系统点击适当的链接。例如,要下载一个 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 package

MSYS2 项目 提供一个包管理器,并为 Windows 提供许多常见的 Unix 工具。

注意

要安装,请从 MSYS2 网页下载 msys2-x86_64-YYYYMMDD.exe 安装程序并运行它。MSYS2 将创建几个新的桌面快捷方式,比如 MSYS 终端MinGW64 终端UCRT64 终端(更多有关 MSYS2 终端的信息,请 单击此处)。

Fortran 包管理器受 UCRT64MinGW64MinGW32 终端支持。

打开一个新的终端,并使用以下命令更新安装:

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,请包含新的 tap 并使用以下方式进行安装:

brew tap fortran-lang/homebrew-fortran
brew install fpm

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

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

Macports

MacPorts package

Fortran Package Manager (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 package

Fpm 在 spack 中以其开发版本提供。若要从 spack 安装 fpm,请使用

spack install fpm

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

spack load fpm

如需了解详细信息,请在此处查看包信息。

Arch Linux 用户仓库

AUR version AUR version

Arch Linux 用户仓库 (AUR) 为 Fortran Package Manager (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 port

OpenBSD port

OpenBSD 的一个 port 在默认 port 树中可用。若要安装 fpm,请使用以下命令安装 devel/fpm port

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

WinGet

winget package

从 fpm 发行版中提供的安装程序可通过 WinGet 来安装 fpm

winget install FortranLang.fpm

从源代码构建

若要从源代码构建 fpm,请通过以下方法获取最新的 fpm 源代码,要么从 GitHub 克隆存储库:

git clone https://github.com/fortran-lang/fpm
cd fpm

或从最新源下载源代码 tarball

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