Ich verwende Windows (vom Unternehmen bereitgestellt) für die Arbeit, MacBook Pro (von einem Freund bereitgestellt) für den täglichen Gebrauch und Manjaro Linux (von einem leitenden Unternehmen bereitgestellt) zum Experimentieren, die alle Paketmanager sind. Ich benutze nix. (Windows verwendet jedoch Nix in Ubuntu unter WSL2.)
Der Grund, warum ich Nix anstelle von apt und homebrew leise benutze, ist
Ich freue mich darüber.
Ich möchte, dass Nix immer beliebter wird, daher zeige ich Ihnen, wie Sie Nix Package Manager installieren und grundlegende Befehle verwenden.
Linux
$ sh <(curl -L https://nixos.org/nix/install)
Eine Einschränkung ist, dass es nicht mit einer Fischschale betrieben werden kann.
macOS
$ sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume
In ~ / .bashrc
, um die notwendigen Umgebungsvariablen für die Verwendung von nix unter Linux und Mac festzulegen
if [ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]; then
. $HOME/.nix-profile/etc/profile.d/nix.sh;
fi
Fügen wir hinzu.
Zunächst müssen Sie den Nix-Paketkanal abonnieren, um ihn verwenden zu können.
Verwenden Sie den Befehl nix-channel
, um den Kanal zu bedienen.
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable
$ nix-channel --update
nix-channel --update
ist wie sudo apt update
.
Der Hauptbefehl für die Paketverwaltung lautet "nix-env".
Sie können nix-env
verwenden, um Pakete zu installieren, zu aktualisieren, zu entfernen, nach Paketen zu suchen und vieles mehr.
Sie können alle installierbaren Pakete mit nix-env -qa
durchsuchen.
Gleiches gilt für nix-env --query --available
.
$ nix-env -qa
aterm-2.2
bash-3.0
binutils-2.15
bison-1.875d
blackdown-1.4.2
bzip2-1.0.2
...
Sie können nach einem bestimmten Paket suchen, indem Sie den Namen des Pakets nach "-qa" setzen.
$ nix-env -qa firefox
firefox-68.11.0esr
firefox-78.1.0esr
firefox-79.0
Sie können auch reguläre Ausdrücke für die Suche verwenden.
$ nix-env -qa 'firefox-.*'
Sie können das Paket mit nix-env -i
oder nix-env --install
installieren.
Du brauchst übrigens kein "sudo". Installierte Pakete werden vom Benutzer installiert, nicht vom System. Es gibt (wahrscheinlich) keine Auswirkungen auf das gesamte System.
$ nix-env -i subversion
Sie können alle installierten Pakete mit nix-env -q
überprüfen.
$ nix-env -q
nix-2.3.7
subversion-1.12.2
Sie können Ihre Umgebung mit nix-env -u
oder nix-env --upgrade
aktualisieren.
Wenn Sie nur ein bestimmtes Paket aktualisieren,
$ nix-env -u subversion
Beim Upgrade aller installierten Pakete
$ nix-env -u
Sie können das Paket mit nix-env -e
oder nix-env --erase
deinstallieren.
nix-env -e subversion
uninstalling 'subversion-1.12.2'
rollback
Nix erstellt jedes Mal eine Generation für Ihre Umgebung, wenn Sie ein Paket hinzufügen oder entfernen. Und Sie können jederzeit zu diesen Generationen zurückkehren.
Dies ist beispielsweise nützlich, wenn Sie ein Paket installiert haben und einen Fehler hatten und es vor der Installation wiederherstellen möchten, die gut funktioniert hat.
Überprüfen Sie die Generationen nix-env --list-generations
$ nix-env --list-generations
1 2020-08-03 23:36:12
2 2020-08-06 19:15:43
3 2020-08-06 19:55:13
4 2020-08-09 18:33:59
5 2020-08-09 18:34:46 (current)
(current)
ist die aktuelle Umgebung.
Verwenden Sie nix-env --rollback
, um zur vorherigen Umgebung zurückzukehren.
$ nix-env --rollback
switching from generation 5 to 4
$ nix-env --list-generations
1 2020-08-03 23:36:12
2 2020-08-06 19:15:43
3 2020-08-06 19:55:13
4 2020-08-09 18:33:59 (current)
5 2020-08-09 18:34:46
Um zu einer bestimmten Generation zu wechseln, verwenden Sie "nix-env --switch-generation".
$ nix-env --switch-generation 2
switching from generation 4 to 2
Recommended Posts