Z nějakého důvodu možná budete chtít balíček před instalací do systému Linux otestovat. Pokud ano, máte štěstí! Dnes vám ukážu, jak to udělat v Linuxu pomocí Nix správce balíčků. Jednou z pozoruhodných funkcí správce balíčků Nix je, že umožňuje uživatelům testovat balíčky, aniž by je museli nejprve instalovat. To může být užitečné, když chcete určitou aplikaci dočasně používat.
Otestujte balíček bez jeho instalace v Linuxu
Nejprve se ujistěte, že jste nainstalovali správce balíčků Nix. Pokud jste jej ještě nenainstalovali, postupujte podle následujícího průvodce.
- Nix – výkonný správce balíčků pro Linux a Unix
Řekněme například, že chcete otestovat svůj kód C++. Nemusíte instalovat GCC. Stačí spustit následující příkaz:
$ nix-shell -p gcc
Tento příkaz vytvoří nebo stáhne balíček gcc a jeho závislosti a poté vás přesune do prostředí Bash, kde je gcc příkaz je přítomen, to vše bez ovlivnění vašeho normálního prostředí.
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:~]$
Zkontrolujte verzi GCC:
[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)
Nyní pokračujte a otestujte kód. Až budete hotovi, napište exit pro návrat zpět do vaší konzole.
[nix-shell:~]$ exit exit
Jakmile opustíte nix-shell, nemůžete použít GCC.
Zde je další příklad.
$ nix-shell -p hello
Tím se vytvoří nebo stáhne GNU Hello a jeho závislosti a poté vás přesune do prostředí Bash, kde se zobrazí hello příkaz je přítomen, to vše bez ovlivnění vašeho normálního prostředí:
[nix-shell:~]$ hello Hello, world!
Napište exit pro návrat zpět do konzole.
[nix-shell:~]$ exit
Nyní otestujte, zda je program hello dostupný nebo ne.
$ hello hello: command not found
Další podrobnosti o správci balíčků Nix naleznete v následující příručce.
- Začínáme s Nix Package Manager