Per qualche motivo, potresti voler testare un pacchetto prima di installarlo nel tuo sistema Linux. Se è così, sei fortunato! Oggi ti mostrerò come farlo in Linux usando Nix gestore di pacchetti. Una delle caratteristiche degne di nota del gestore di pacchetti Nix è che consente agli utenti di testare i pacchetti senza doverli prima installare. Questo può essere utile quando desideri utilizzare temporaneamente una particolare applicazione.
Testare un pacchetto senza installarlo in Linux
Assicurati di aver prima installato il gestore di pacchetti Nix. Se non l'hai ancora installato, consulta la seguente guida.
- Nix:un potente gestore di pacchetti per Linux e Unix
Ad esempio, supponiamo che tu voglia testare il tuo codice C++. Non è necessario installare GCC. Basta eseguire il seguente comando:
$ nix-shell -p gcc
Questo comando compila o scarica il pacchetto gcc e le sue dipendenze, quindi ti porta in una shell Bash dove gcc il comando è presente, il tutto senza influenzare il tuo ambiente normale.
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:~]$
Controlla la versione 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)
Ora vai avanti e prova il codice. Al termine, digita exit per tornare alla tua console.
[nix-shell:~]$ exit exit
Una volta usciti dalla nix-shell, non puoi usare GCC.
Ecco un altro esempio.
$ nix-shell -p hello
Questo compila o scarica GNU Hello e le sue dipendenze, quindi ti porta in una shell Bash dove ciao il comando è presente, il tutto senza influenzare il tuo ambiente normale:
[nix-shell:~]$ hello Hello, world!
Digita exit per tornare alla console.
[nix-shell:~]$ exit
Ora verifica se il programma Hello è disponibile o meno.
$ hello hello: command not found
Per maggiori dettagli sul gestore di pacchetti Nix, fai riferimento alla seguente guida.
- Introduzione a Nix Package Manager