Next: La configuración perfecta, Previous: Ejecución de la batería de pruebas, Up: Contribuir [Contents][Index]
Para mantener un entorno de trabajo estable, encontrará útil probar los cambios hechos en su copia de trabajo local sin instalarlos realmente. De esa manera, puede distinguir entre su sombrero de “usuaria final” y el traje de “harapos”.
To that end, all the command-line tools can be used even if you have not run
make install
. To do that, you first need to have an environment with
all the dependencies available (see Construcción desde Git), and then simply
prefix each command with ./pre-inst-env
(the pre-inst-env
script lives in the top build tree of Guix; see Construcción desde Git to
generate it). As an example, here is how you would build the hello
package as defined in your working tree (this assumes guix-daemon
is already running on your system; it’s OK if it’s a different version):
$ ./pre-inst-env guix build hello
De manera similar, un ejemplo de una sesión de Guile con los módulos Guix disponibles:
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))' ;;; ("x86_64-linux")
… and for a REPL (see Using Guix Interactively):
$ ./pre-inst-env guile scheme@(guile-user)> ,use(guix) scheme@(guile-user)> ,use(gnu) scheme@(guile-user)> (define serpientes (fold-packages (lambda (paquete lst) (if (string-prefix? "python" (package-name paquete)) (cons paquete lst) lst)) '())) scheme@(guile-user)> (length serpientes) $1 = 361
Si modifica el código del daemon o código auxiliar, o si
guix-daemon
no se está ejecutando todavía en su sistema, puede
ejecutarlo desde el árbol de construción58:
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
El guión pre-inst-env
proporciona valor a todas las variables de
entorno necesarias para permitirlo, incluyendo PATH
y
GUILE_LOAD_PATH
.
Fíjese que la orden ./pre-inst-env guix pull
no actualiza
el árbol de fuentes local; simplemente actualiza el enlace
~/.config/guix/latest (see Invocación de guix pull
). Ejecute
git pull
si quiere actualizar su árbol de fuentes local.
A veces, especialmente si ha actualizado recientemente su repositorio, la
ejecución de ./pre-inst-env
imprimirá un mensaje similar al
siguiente ejemplo:
;;; nota: archivo fuente /home/user/projects/guix/guix/progress.scm ;;; más reciente que el compilado /home/user/projects/guix/guix/progress.go
Esto es sólo una nota y se puede ignorar con seguridad. Puede deshacerse
del mensaje ejecutando make -j4
. Hasta que lo haga, Guile se
ejecutará ligeramente más lento porque interpretará el código en lugar de
utilizar archivos de objetos Guile preparados (.go).
Puede ejecutar make
automáticamente mientras trabaja utilizando
watchexec
del paquete watchexec
. Por ejemplo, para
construir de nuevo cada vez que actualice un archivo de paquete, ejecute
‘watchexec -w gnu/packages -- make -j4’.
La opción -E a
sudo
asegura que GUILE_LOAD_PATH
contiene la información
correcta para que guix-daemon
y las herramientas que usa puedan
encontrar los módulos Guile que necesitan.
Next: La configuración perfecta, Previous: Ejecución de la batería de pruebas, Up: Contribuir [Contents][Index]