Closed FacundoAdorno closed 7 years ago
Verificando la versión de nodejs en el servidor verifiqué que actualmente está en una versión bastante reciente (lts/boron v6.9.1):
$ nvm list
-> v6.9.1
default -> 6.9.1 (-> v6.9.1)
node -> stable (-> v6.9.1) (default)
stable -> 6.9 (-> v6.9.1) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.6.2 (-> N/A)
lts/boron -> v6.9.1
Decidimos actualizar la ultima version de node a la lts/boron v6.10.0. Para esto hay que ejecutar los comandos escritos en la descripcion del issue. Al ejecutar estos comandos, la version anterior que estaba haciendo usada, queda disponible por si se necesita volver a usarla, viéndola listada al ejecutarse nvm list
.
Se instalo la versión v.6.10.0 (lastest lts/boron) de nodejs en el servidor.
El error causado por la versión runtime de Handlebars ya no ocurre más.
1. Cambiar la versión de grunt-contrib-handlebars a v0.9.3. 2. Actualizar versión de NodeJS en el servidor a la mas reciente de las versiones LTS Boron.
A partir de un commit introducido por DSpace, se comenzó a utilizar versiones diferentes de Handlebars en el momento de compilación de los archivos
*.hbs
y en el momento de ejecución (o runtime) del lado cliente (p.e. el explorador). Esto produce un error cuando el browser quiere cargar la página:Según la configuración de Mirage2, para la compilación se utiliza una versión >=4.0.0 (debido a la dependencia
"grunt-contrib-handlebars": "1.0.0",
en el archivo package.json), y para la ejecución de Mirage2 del lado cliente se utiliza la versión 2.0.0 (debido a dependencia en archivo bower.json).La solución propuesta en DS-3419 es cambiar la versión de grunt-contrib-handlebars a la v0.9.3. Sin embargo, para que esto funcione, la versión de nodejs utilizada por MIrage2 debe ser alguna de las mas recientes (p.e. la versión lts boron de nodejs). Si se ejecuta con una versión mas antigua (p.e. yo estaba usando una versión muy vieja: v0.10.32) salta el siguiente ERR:
Actualizar nodejs usando nvm
Previo a cualquier cambio, habria que hacer un backup del directorio de
~/.nvm
ante cualqueir eventualidad... (cp -r ~/.nvm ~/.nvm_bkp
).Luego los pasos a seguir son:
Este instala no solo instala la ultima version de lts/boron, sino que tambien instala todos los paquetes que fueron instalados manualmente en la versión indicada por el parametro
--reinstall-packages-from
, que en nuestro caso serían las dependencias instaladas para Mirage2: 'grunt', 'grunt-cli' y 'bower'.nvm
que la utilice como "default"