Aus irgendeinem Grund möchten Sie vielleicht ein Paket testen, bevor Sie es in Ihrem Linux-System installieren. Wenn ja, haben Sie Glück! Heute zeige ich Ihnen, wie es unter Linux mit Nix geht Paket-Manager. Eine der bemerkenswerten Funktionen des Nix-Paketmanagers ist, dass Benutzer die Pakete testen können, ohne sie zuerst installieren zu müssen. Dies kann hilfreich sein, wenn Sie eine bestimmte Anwendung vorübergehend verwenden möchten.
Testen Sie ein Paket, ohne es unter Linux zu installieren
Stellen Sie sicher, dass Sie zuerst den Nix-Paketmanager installiert haben. Wenn Sie es noch nicht installiert haben, lesen Sie die folgende Anleitung.
- Nix – Ein leistungsstarker Paketmanager für Linux und Unix
Angenommen, Sie möchten Ihren C++-Code testen. Sie müssen GCC nicht installieren. Führen Sie einfach den folgenden Befehl aus:
$ nix-shell -p gcc
Dieser Befehl erstellt oder lädt das gcc-Paket und seine Abhängigkeiten herunter und bringt Sie dann in eine Bash-Shell, in der die Datei gcc Befehl vorhanden ist, ohne Ihre normale Umgebung zu beeinträchtigen.
LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). download-using-manifests.pl: perl: warning: Setting locale failed. download-using-manifests.pl: perl: warning: Please check that your locale settings: download-using-manifests.pl: LANGUAGE = (unset), download-using-manifests.pl: LC_ALL = (unset), download-using-manifests.pl: LANG = "en_US.UTF-8" download-using-manifests.pl: are supported and installed on your system. download-using-manifests.pl: perl: warning: Falling back to the standard locale ("C"). download-from-binary-cache.pl: perl: warning: Setting locale failed. download-from-binary-cache.pl: perl: warning: Please check that your locale settings: download-from-binary-cache.pl: LANGUAGE = (unset), download-from-binary-cache.pl: LC_ALL = (unset), download-from-binary-cache.pl: LANG = "en_US.UTF-8" [...] fetching path ‘/nix/store/6mk1s81va81dl4jfbhww86cwkl4gyf4j-stdenv’... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). *** Downloading ‘https://cache.nixos.org/nar/0aznfg1g17a8jdzvnp3pqszs9rq2wiwf2rcgczyg5b3k6d0iricl.nar.xz’ to ‘/nix/store/6mk1s81va81dl4jfbhww86cwkl4gyf4j-stdenv’... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8324 100 8324 0 0 6353 0 0:00:01 0:00:01 --:--:-- 6373 [nix-shell:~]$
Überprüfen Sie die GCC-Version:
[nix-shell:~]$ gcc -v Using built-in specs. COLLECT_GCC=/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-5.4.0/bin/gcc COLLECT_LTO_WRAPPER=/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-5.4.0/libexec/gcc/x86_64-unknown-linux-gnu/5.4.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: Thread model: posix gcc version 5.4.0 (GCC)
Machen Sie jetzt weiter und testen Sie den Code. Wenn Sie fertig sind, geben Sie exit ein um zu Ihrer Konsole zurückzukehren.
[nix-shell:~]$ exit exit
Sobald Sie die Nix-Shell verlassen haben, können Sie GCC nicht mehr verwenden.
Hier ist ein weiteres Beispiel.
$ nix-shell -p hello
Dadurch wird GNU Hello und seine Abhängigkeiten erstellt oder heruntergeladen und Sie werden dann in einer Bash-Shell abgelegt, in der das hello Befehl vorhanden ist, ohne Ihre normale Umgebung zu beeinträchtigen:
[nix-shell:~]$ hello Hello, world!
Geben Sie exit ein, um zur Konsole zurückzukehren.
[nix-shell:~]$ exit
Testen Sie nun, ob das Hello-Programm verfügbar ist oder nicht.
$ hello hello: command not found
Weitere Einzelheiten zum Nix-Paketmanager finden Sie in der folgenden Anleitung.
- Erste Schritte mit Nix Package Manager