Software aus sprachspezifischen Paketverwaltungen installieren
Viele Ökosysteme von Programmiersprachen verfügen über eigene Paketverwaltungen zur Installation von Bibliotheken und Werkzeugen. Diese Seite erläutert die Verwendung gängiger sprachspezifischer Paketverwaltungen unter Fedora sowie die wesentlichen Unterschiede zwischen diesen und DNF.
Was sind sprachspezifische Paketverwaltungen?
Sprachspezifische Paketverwaltungen installieren Software, die innerhalb des Ökosystems einer bestimmten Programmiersprache veröffentlicht wurde. So lassen sich beispielsweise Python-Bibliotheken und einige Python-Anwendungen mithilfe von Werkzeugen wie pip installieren. Ebenso können zahlreiche JavaScript-basierte Anwendungen mithilfe von Werkzeugen wie npm installiert werden. Diese Werkzeuge arbeiten unabhängig voneinander und installieren Pakete außerhalb des Paketverwaltungssystems von Fedora.
Bevor Sie eine Paketverwaltung für eine Programmiersprache verwenden, prüfen Sie, ob das benötigte Paket bereits in den Fedora-Paketquellen verfügbar ist. Viele gängige Bibliotheken sind für Fedora paketiert und lassen sich mit DNF installieren:
$ dnf search Paketname
Die Installation aus den Fedora-Paketquellen wird bevorzugt, da diese Pakete Sicherheitsaktualisierungen über den regulären Fedora-Aktualisierungsprozess erhalten und auf Kompatibilität zu Ihrem System getestet sind.
Sprachspezifsische Paketverwaltungen umgehen DNF, was bedeutet:
-
Auf diese Weise installierte Pakete sind für DNF unsichtbar und erhalten mit
dnf upgradekeine Aktualisierungen -
Pakete könnten mit Systempaketen kollidieren, falls sie global (systemweit) installiert werden
-
Sicherheitsaktualisierungen müssen manuell über die sprachspezifische Paketverwaltung selbst vorgenommen werden
-
Das Entfernen von Paketen erfordert die Sprachpaketverwaltung, nicht DNF
-
Quellen werden von den Fedora-Maintainern nicht überprüft; daher besteht ein höheres Risiko, bösartige oder nicht gepflegte Software zu installieren
Installieren Sie Pakete aus sprachspezifischen Paketverwaltungen aus diesen Gründen nach Möglichkeit auf Benutzerebene oder in isolierten Umgebungen anstatt systemweit.
Python - pip
Die Paketverwaltung von Python ist pip. Viele Python-Pakete sind in den Fedora-Paketquellen als python3-Paketname verfügbar und sollten nach Möglichkeit auf diese Weise installiert werden.
Installation von pip
pip ist in Python enthalten, das unter Fedora vorinstalliert ist. Falls pip fehlt:
$ sudo dnf install python3-pip
In virtuellen Umgebungen
Verwenden Sie stets eine virtuelle Umgebung, um mittels pip installierte Pakete von der systemweiten Python-Installation zu isolieren. Die globale Installation von pip-Paketen kann zu Konflikten mit Python-Systembibliotheken führen und Systemwerkzeuge funktionsunfähig machen.
Erstellen und aktivieren Sie eine virtuelle Umgebung:
$ python3 -m venv myenv
$ source myenv/bin/activate
Installieren Sie ein Paket in der virtuellen Umgebung:
$ pip install Paketname
Deaktivieren Sie die virtuelle Umgebung, wenn Sie fertig sind:
$ deactivate
Aktualisieren von pip-Paketen
Alle Pakete in einer aktiven virtuellen Umgebung aktualisieren:
$ pip install --upgrade Paketname
Alternative Paketverwaltungen für Python
Sie können andere Python-Paketverwaltungen verwenden, die isolierte Umgebungen erstellen, wie zum Beispiel:
Diese Werkzeuge können entweder aus Fedora-Paketquellen oder mit Hilfe von pip installiert werden.
Um beispielsweise pipx zu installieren, führen Sie Folgendes aus:
$ sudo dnf install pipx
Oder um uv zu installieren:
$ sudo dnf install python3-uv
Node.js - npm
npm ist die Paketverwaltung für das Node.js-Ökosystem.
Node.js und npm installieren
Installieren Sie Node.js und npm aus den Fedora-Paketquellen:
$ sudo dnf install nodejs npm
Pakete installieren
Installieren Sie ein Paket lokal für ein bestimmtes Projekt (empfohlen):
$ npm install Paketname
Installieren Sie ein Paket global, um ein Befehlszeilenwerkzeug systemweit verfügbar zu machen:
$ npm install -g Paketname
| Globale npm-Installationen erfordern möglicherweise erhöhte Berechtigungen, abhängig davon, wie Node.js installiert wurde. Um Berechtigungsprobleme zu vermeiden, sollten Sie die Verwendung einer Node.js-Versionsverwaltung wie nvm in Erwägung ziehen. |
Rust - Cargo
Cargo ist die Paketverwaltung und das Bausystem von Rust. Cargo kompiliert Pakete aus dem Quellcode, daher können Bauvorgänge einige Zeit in Anspruch nehmen.
Rust und Cargo installieren
Installieren Sie Rust und Cargo aus den Fedora-Paketquellen:
$ sudo dnf install rust cargo
Alternativ können Sie den offiziellen Rust-Toolchain-Installer rustup verwenden, um mehr Kontrolle über die Rust-Versionen zu haben.
Ruby - gem
„gem“ ist die Paketverwaltung von Ruby für die Installation von Ruby-Bibliotheken und -Werkzeugen (sogenannten „Gems“). Viele Ruby-Gems sind in den Fedora-Paketquellen als rubygem-Paketname verfügbar und sollten nach Möglichkeit auf diese Weise installiert werden.
Ruby und gem installieren
Installieren Sie Ruby aus den Fedora-Paketquellen:
$ sudo dnf install ruby
Ruby beinhaltet gem bereits.
Go - go installieren
Die Go-Toolchain enthält go install für die Installation von Go-basierten Werkzeugen.
Werkzeuge installieren
Installieren Sie ein Go-Werkzeug nach dessen Modulpfad:
$ go install Modulpfad@latest
Zum Beispiel:
$ go install golang.org/x/tools/cmd/goimports@latest
Go installiert Binärdateien standardmäßig in ~/go/bin/. Stellen Sie sicher, dass dieses Verzeichnis in Ihrem PATH enthalten ist.
Want to help? Learn how to contribute to Fedora Docs ›