FPM mit Plugins erweitern
Inhalt
FPM mit Plugins erweitern¶
Der Fortran-Paketmanager verfügt über ein Plugin-System, mit dem sich seine Funktionalität leicht erweitern lässt. In diesem Tutorial wird gezeigt, wie man ein Plugin mit fpm installiert und verwendet.
Registry-Suchtool¶
Das fpm-search Projekt ist ein Plugin zur Abfrage der Paketregistrierung. Da es mit fpm erstellt wurde, können wir es einfach auf unserem System installieren mit
git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release
Dadurch wird die Binärdatei fpm-search
nach ~/.local/bin
(oder %APPDATA%\local\bin
unter Windows) installiert.
Bemerkung
Stellen Sie sicher, dass die installierte Binärdatei im PATH
ist, bzw. benutze
which fpm-search
~/.local/bin/fpm-search
Wenn keine Binärdatei gefunden wird, füge das Verzeichnis zum Pfad hinzu mit
Die Standardeinstellungen für die Bash-Shell finden sich in der Datei .bashrc
im Home-Verzeichnis, um zum PATH
anhängen folge den Schritten unten.
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc
Stelle sicher, dass die .bashrc
nach dem Ändern als Quelle verwendet wird, da die Änderung sonst nicht auf die aktuelle Shell angewendet wird.
Die Standardeinstellungen für die Zsh-Shell finden sich in der Datei .zshrc
im Home-Verzeichnis, um zum PATH
anhängen folge den Schritten unten
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh
Stelle sicher, dass die zsh neugestartet nachdem .zshrc
geändert wurde, da die Änderung sonst nicht auf die aktuelle Shell angewendet wird.
Die Variable PATH
kann mit dem pathman-Programm über die cmd-Eingabeaufforderung geändert werden
pathman /au %APPDATA%\local\bin
Jetzt mit einer funktionierenden Installation können wir unser neues Plugin von fpm aufrufen.
❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...
Nun können wir fpm search
statt fpm-search
als Befehl verwenden. Um ein Paket für die Erstellung einer Befehlszeilenschnittstelle zu finden, können wir nun Folgendes eingeben
❯ fpm search commandline
M_CLI : Unix-style commandline parsing using a prototype command and NAMELIST (STD:f2008)
M_CLI2 : Unix-style commandline parsing using a prototype command
Um eines der Pakete in unserem Manifest zu verwenden, können wir die notwendige Abhängigkeitszeile erzeugen, indem wir
❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }
Das Hinzufügen dieser Zeile zu einem Paketmanifest ermöglicht die Abhängigkeit von dem jeweiligen Projekt.
Zusammenfassung
In diesem Kurs haben wir gelernt, wie man
Installieren eines fpm-Plugins
Verwendung des fpm-search-Plugins zur Abfrage der Registrierung
einen Abhängigkeitseintrag aus einem Abfrageergebnis erzeugen