По какой-то причине вы можете протестировать пакет перед его установкой в своей Linux-системе.
Сегодня я расскажу вам, как это сделать в Linux с помощью диспетчера пакетов Nix.
Одной из заметных особенностей диспетчера пакетов Nix является то, что он позволяет пользователям тестировать пакеты без необходимости их установки в первую очередь.
Это может быть полезно, если вы хотите временно использовать определенное приложение.
Убедитесь, что вы сначала установили менеджер пакетов Nix.
Если вы еще не установили его, обратитесь к следующему руководству:
Например, скажем, вы хотите протестировать свой код на C ++.
Вам не нужно устанавливать GCC.
Просто запустите следующую команду:
$ nix-shell -p gcc
Эта команда создает или загружает пакет gcc и его зависимости, а затем помещает вас в оболочку Bash, где присутствует команда gcc, и все это не влияет на вашу обычную среду.
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:~]$
Проверьте версию GCC:
$ 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)
Теперь идите и проверьте код.
Когда вы закончите, введите exit, чтобы вернуться на консоль.
$ exit exit
Когда вы выйдете из nix-оболочки, вы не сможете использовать GCC.
Вот еще один пример.
$ nix-shell -p hello
Это создает или загружает GNU Hello и его зависимости, а затем бросает вас в оболочку Bash, где присутствует команда hello, и все это не влияет на вашу обычную среду:
$ hello Hello, world!
Введите exit, чтобы вернуться в консоль.
$ exit
Теперь проверьте, доступна ли программа hello или нет.
$ hello hello: command not found