Untuk beberapa alasan, Anda mungkin ingin menguji sebuah paket sebelum menginstalnya di sistem Linux Anda. Jika demikian, Anda beruntung! Hari ini, saya akan menunjukkan cara melakukannya di Linux menggunakan Nix manajer paket. Salah satu fitur penting dari manajer paket Nix adalah memungkinkan pengguna untuk menguji paket tanpa harus menginstalnya terlebih dahulu. Ini dapat membantu saat Anda ingin menggunakan aplikasi tertentu untuk sementara.
Menguji Paket Tanpa Menginstalnya di Linux
Pastikan Anda telah menginstal manajer paket Nix terlebih dahulu. Jika Anda belum menginstalnya, lihat panduan berikut.
- Nix – Pengelola Paket yang Kuat untuk Linux dan Unix
Misalnya, katakanlah Anda ingin menguji kode C++ Anda. Anda tidak perlu menginstal GCC. Jalankan saja perintah berikut:
$ nix-shell -p gcc
Perintah ini membangun atau mengunduh paket gcc dan dependensinya, lalu memasukkan Anda ke dalam shell Bash tempat gcc perintah hadir, semua tanpa mempengaruhi lingkungan normal Anda.
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:~]$
Periksa versi 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)
Sekarang, lanjutkan dan uji kodenya. Setelah selesai, ketik keluar untuk kembali ke konsol Anda.
[nix-shell:~]$ exit exit
Setelah Anda keluar dari nix-shell, Anda tidak dapat menggunakan GCC.
Ini contoh lain.
$ nix-shell -p hello
Ini membangun atau mengunduh GNU Hello dan dependensinya, lalu memasukkan Anda ke dalam shell Bash di mana hello perintah hadir, semua tanpa mempengaruhi lingkungan normal Anda:
[nix-shell:~]$ hello Hello, world!
Ketik exit untuk kembali ke konsol.
[nix-shell:~]$ exit
Sekarang uji apakah program hello tersedia atau tidak.
$ hello hello: command not found
Untuk detail lebih lanjut tentang manajer paket Nix, lihat panduan berikut.
- Memulai Pengelola Paket Nix