Next: , Previous: , Up: Содействие   [Contents][Index]


16.2 Запуск Guix перед его установкой

Чтобы держать в порядке рабочее окружение, удобно тестировать изменения, сделанные в вашем локальном дереве исходников, без их установки. Так вы сможете отличить ’наряд’ вашего конечного пользователя от ’пёстрого костюма’.

С этой целью можно использовать все инструменты командной строки, даже если вы не запускали make install. Для этого вам сначала нужно создать окружение со всеми доступными зависимостями (see Сборка из Git), и затем просто начните каждую команду с ./pre-inst-env (скрипт pre-inst-env находится на верху дерева сборки Guix; он генерируется запуском ./bootstrap, за которым следует ./configure). В качестве примера, вот как вы собрали бы пакет hello (подразумевается, что guix-daemon уже запущена на вашей системе; ничего страшного, если это другая версия):

$ ./pre-inst-env guix build hello

Аналогично, пример для Guile сессии с использованием модулей Guix:

$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'

;;; ("x86_64-linux")

… и для REPL (see Using Guile Interactively in Guile Reference Manual):

$ ./pre-inst-env guile
scheme@(guile-user)> ,use(guix)
scheme@(guile-user)> ,use(gnu)
scheme@(guile-user)> (define snakes
                       (fold-packages
                         (lambda (package lst)
                           (if (string-prefix? "python"
                                               (package-name package))
                               (cons package lst)
                               lst))
                         '()))
scheme@(guile-user)> (length snakes)
$1 = 361

Если вы изучаете демона и его исзодники, или если guix-daemon еще не запущена в вашей системе, вы можете запустить его прямо из дерева сборки34:

$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild

Скрипт pre-inst-env устанавливает все переменные окружения, которые необходимы для этой задачи, включая PATH и GUILE_LOAD_PATH.

Заметим, что ./pre-inst-env guix pull не обновляет локальное дерево исходников. Эта команда только обновляет символическую ссылку ~/.config/guix/current (see Запуск guix pull). Выполните git pull, если вы хотите обновить локальное дерево исходников.


Footnotes

(34)

Флаг -E команды sudo гарантирует, что GUILE_LOAD_PATH настроен правильно, так что guix-daemon и инструменты, которые он использует, могут найти необходимые им модули Guile.


Next: , Previous: , Up: Содействие   [Contents][Index]