Pour une raison quelconque, vous souhaiterez peut-être tester un package avant de l'installer sur votre système Linux. Si oui, vous avez de la chance ! Aujourd'hui, je vais vous montrer comment le faire sous Linux en utilisant Nix directeur chargé d'emballage. L'une des caractéristiques notables du gestionnaire de packages Nix est qu'il permet aux utilisateurs de tester les packages sans avoir à les installer au préalable. Cela peut être utile lorsque vous souhaitez utiliser temporairement une application particulière.
Tester un package sans l'installer sous Linux
Assurez-vous d'avoir d'abord installé le gestionnaire de paquets Nix. Si vous ne l'avez pas encore installé, consultez le guide suivant.
- Nix – Un puissant gestionnaire de packages pour Linux et Unix
Par exemple, disons que vous voulez tester votre code C++. Vous n'êtes pas obligé d'installer GCC. Exécutez simplement la commande suivante :
$ nix-shell -p gcc
Cette commande construit ou télécharge le package gcc et ses dépendances, puis vous dépose dans un shell Bash où le gcc commande est présente, le tout sans affecter votre environnement normal.
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:~]$
Vérifiez la version de 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)
Maintenant, allez-y et testez le code. Une fois que vous avez terminé, tapez exit pour revenir à votre console.
[nix-shell:~]$ exit exit
Une fois que vous quittez le nix-shell, vous ne pouvez plus utiliser GCC.
Voici un autre exemple.
$ nix-shell -p hello
Cela construit ou télécharge GNU Hello et ses dépendances, puis vous dépose dans un shell Bash où le bonjour commande est présente, le tout sans affecter votre environnement normal :
[nix-shell:~]$ hello Hello, world!
Tapez exit pour revenir à la console.
[nix-shell:~]$ exit
Testez maintenant si le programme hello est disponible ou non.
$ hello hello: command not found
Pour plus de détails sur le gestionnaire de paquets Nix, consultez le guide suivant.
- Démarrer avec Nix Package Manager