Hace un tiempo que estoy teniendo problemas para que jenkins pueda construir los proyectos que utilizan Behat, Mink y Zombie.js. daba error porque no encontraba los módulos.
test: [exec] [exec] [exec] [exec] [RuntimeException] [exec] Server process has been terminated: (1) [ [exec] module.js:337 [exec] throw new Error("Cannot find module '" + request + "'"); [exec] ^ [exec] Error: Cannot find module 'zombie' [exec] at Function._resolveFilename (module.js:337:11) [exec] at Function._load (module.js:279:25) [exec] at Module.require (module.js:359:17) [exec] at require (module.js:375:17) [exec] at Object.<anonymous> (/tmp/mink_nodejs_serverYMaRqw:2:16) [exec] at Module._compile (module.js:446:26) [exec] at Object..js (module.js:464:10) [exec] at Module.load (module.js:353:31) [exec] at Function._load (module.js:311:12) [exec] at Array.0 (module.js:484:10) [exec] ] [exec] [exec] [exec] [exec] behat [--init] [-f|--format="..."] [--out="..."] [--lang="..."] [--[no-]ansi] [--[no-]time] [--[no-]paths] [--[no-]snippets] [--[no-]snippets-paths] [--[no-]multiline] [--[no-]expand] [--story-syntax] [-d|--definitions="..."] [--name="..."] [--tags="..."] [--cache="..."] [--strict] [--dry-run] [--rerun="..."] [--append-snippets] [features] [exec] [exec]
Después de mucho pegarme, he dado con la solución:
Era más sencillo de lo que parecía.
Como root, abrimos el archivo ‘/etc/profile’ y añadimos lo siguiente al final del fichero:
NODE_PATH="/usr/local/lib/node_modules"
Una vez hayamos guardado, cargamos el contenido para que sea accesible:
source /etc/profile
Y listo, en jenkins, lanzamos la contrucción del proyecto, y todo irá sobre ruedas.
¿Cuál era mi problema?
En vez de editar el archivo /etc/profile, estaba editando /etc/environment, como véis, un sutil error, pero que me ha hecho volverme loco.