Meteor falla después de actualizar el nodo

Después de actualizar el nodo a v0.8.1, las aplicaciones Meteor incluidas ahora arrojan un error:

node: symbol lookup error: ~/bundle/server/node_modules/fibers/src/fibers.node:
undefined symbol: _ZNK2v85Value11IsUndefinedEv

¿Cuál es la forma correcta de actualizar el nodo? ¿Es compatible Meteor con v0.8.1?

preguntado el 30 de junio de 12 a las 23:06

Después de actualizar Node, ¿reinstaló sus dependencias con NPM? Fibers tiene una pieza compilada, por lo que sería necesario volver a compilarla. Si tiene sus módulos retractilados con npm shrinkwrap tu puedes sólo rm -rf node_modules y entonces npm install. -

Sí, después de actualizar el nodo, ejecuté la actualización de npm para obtener las últimas versiones de los módulos del nodo, como las fibras. Eso funcionó bien al ejecutar la aplicación directamente desde el directorio en modo de prueba. Pero el uso de 'meteor bundle' para implementar la aplicación en producción falló. Meteor empaqueta una versión antigua de fibras que no funciona con la versión estable actual de node. Solucioné el problema reemplazando el paquete de fibras.nodo con la versión de mi instalación local. -

1 Respuestas

Pude hacerlo funcionar reemplazando

~/bundle/server/node_modules/fibers/src/fibers.node

con

~/.npm/fibers/0.6.8/package/bin/linux-x64-v8-3.11/fibers.node

¿Cuál es la forma correcta de actualizar?

Respondido el 30 de junio de 12 a las 23:06

Esto parece ser una incompatibilidad entre el último nodo y las fibras de versiones anteriores, la forma correcta de actualizar es simplemente actualizar a través de Meteor (que creo que le informará cuando haya una actualización). Por supuesto, si usa Node.js fuera de Meteor eso no necesariamente cuenta; en ese caso, podría generar un paquete de desarrollo y solucionar las incompatibilidades con las últimas fibras sobre la marcha, pero tal vez eso no sea factible ya que es demasiado trabajo si no planea desarrollar para el núcleo de Meteor. En resumen, Meteor prefiere "estable" (dependencias wrt) sobre "más reciente"... - Tamara Wijsman

Puede ser que con uno de los primeros lanzamientos futuros, los desarrollos superen las versiones de las dependencias. Pero dado que acaba de ser lanzado, no hay necesidad de apresurarse... - Tamara Wijsman

Estoy en el último Meteor, 0.3.7, pero las fibras proporcionadas por Meteor no funcionan con la versión estable actual de node. Administrar dependencias será un problema para Meteor, ya que Meteor usa la versión instalada de nodo pero proporciona sus propias versiones de módulos de nodo. Parece que Meteor puede proporcionar la versión del nodo que coincida con los módulos incluidos o dejar de incluir los módulos con la aplicación. De lo contrario, habrá un infierno de dependencia. - mb.

meteoro ven con node empaquetado Sin embargo, su sistema elige el sistema node en lugar del meteoro node. Tenga en cuenta que también puede especificar desde dónde deben cargarse los módulos, es decir, configurando el NODE_PATH Variable ambiental. Puedes ver el nodo siendo empaquetado admin/generar-dev-paquete.sh, que se desempaqueta al ejecutar meteor y se empaqueta para su lanzamiento usando admin/build-release.sh. - Tamara Wijsman

Estoy usando 'paquete de meteoritos' para implementar en una máquina de producción. Meteor no incluye un binario de nodo en este paquete (ni debería). Cuando implementa el paquete en una máquina de producción que usa la misma versión de nodo que en la máquina de desarrollo, es posible que el paquete no funcione. Esto es un problema. Será útil tener alguna orientación sobre la forma correcta de actualizar el nodo para evitar problemas de dependencia al agrupar aplicaciones para la implementación de producción. - mb.

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.