2015-04-07 2 views
1

У меня есть приложение nodejs (expressjs), которое выполняется нормально локально, но когда я его развертываю в Openshift, я получил исключение, когда я проверяю файл журнала, он имеет следующую ошибку, когда включая эту строку в server.js.Mongojs: wrong ELF class: ELFCLASS32 nodejs application в openshift

var mongojs = require("mongojs");

DEBUG: Sending SIGTERM to child... 
 
DEBUG: Running node-supervisor with 
 
DEBUG: program 'server.js' 
 
DEBUG: --watch '/var/lib/openshift/5522627bfcf9336fbc00016a/app-root/data/.nodewatch' 
 
DEBUG: --ignore 'undefined' 
 
DEBUG: --extensions 'node|js|coffee' 
 
DEBUG: --exec 'node' 
 
DEBUG: Starting child process with 'node server.js' 
 
DEBUG: Watching directory '/var/lib/openshift/5522627bfcf9336fbc00016a/app-root/data/.nodewatch' for changes. 
 
[Error: /var/lib/openshift/5522627bfcf9336fbc00016a/app-root/runtime/repo/node_modules/mongojs/node_modules/mongodb/node_modules/bson/build/Release/bson.node: wrong ELF class: ELFCLASS32] 
 
js-bson: Failed to load c++ bson extension, using pure JS version 
 
App is running on port : 3000

ответ

2

Похоже, ваш BSON или MongoDB был построен для 32 битной системы, но вы пытаетесь загрузить его на 64 битной системе (или другая архитектура).

Я предполагаю, что у вас 32-битная система, и вы также развертываете встроенные двоичные файлы.

Как вы устанавливали mongodb на свою систему? Попробуйте переустановить его в целевой системе из источника (попробуйте полностью удалить каталог node_modules и снова запустить npm).

Как совет на будущее, обычно рекомендуется развернуть только файл package.json вашего проекта и выполнить локальную установку npm.

Смежные вопросы