TLDR: приложение Node работает локально, не работает на Nodester.com, похоже, проблема npm.
Подробная версия:
Я написал приложение для узла с bogart и couchdb(в основном следует http://howtonode.org/bogart-couchdb), и он работает нормально локально .
Я установил расширения узла локально с помощью
npm install bogart
npm install couchdb
На Nodester, я установил их черезCLI как
nodester npm install bogart couchdb
и он вернул успех .
Теперь я перенес свой рабочий код в репозиторий Nodester.com и столкнулся с проблемой, сценарий вылетает и журнал говорит
Error: Cannot find module 'zlib'
at Function._resolveFilename (module.js:322:11)
at Function._load (module.js:267:25)
at require (module.js:351:19)
at Object.<anonymous> (/node_modules/bogart/lib/middleware.js:67:16)
at Function.<anonymous> (/node_modules/bogart/lib/middleware.js:781:15)
at /node_modules/bogart/lib/bogart.js:162:35
at Array.forEach (native)
at App.start (/node_modules/bogart/lib/bogart.js:155:21)
at Object.<anonymous> (/app/server.js:80:5)
at Module._compile (module.js:407:26)
После этого я попробовал
nodester npm install zlib
и он вернулся
nodester info installing these npm packages: zlib
nodester > zlib@1.0.5 preinstall /node/app/username/repo/node_modules/zlib
nodester > node-waf clean || true; node-waf configure build
nodester zlib@1.0.5 ./node_modules/zlib
nodester Nothing to clean (project not configured)
nodester Setting srcdir to : /node/app/username/repo/node_modules/zlib
nodester Setting blddir to : /node/app/username/repo/node_modules/zlib/build
nodester Checking for program g++ or c++ : /usr/bin/g++
nodester Checking for program cpp : /usr/bin/cpp
nodester Checking for program ar : /usr/bin/ar
nodester Checking for program ranlib : /usr/bin/ranlib
nodester Checking for g++ : ok
nodester Checking for node path : not found
nodester Checking for node prefix : ok /usr
nodester Checking for library z : yes
nodester 'configure' finished successfully (0.128s)
nodester Waf: Entering directory `/node/app/username/repo/node_modules/zlib/build'
nodester [1/2] cxx: src/node-zlib.cc -> build/default/src/node-zlib_1.o
nodester ../src/node-zlib.cc: In function 'v8::Handle<v8::Value> ZLib_deflate(const v8::Arguments&)':
nodester ../src/node-zlib.cc:82: warning: left-hand operand of comma has no effect
nodester ../src/node-zlib.cc: In function 'v8::Handle<v8::Value> ZLib_inflate(const v8::Arguments&)':
nodester ../src/node-zlib.cc:83: warning: left-hand operand of comma has no effect
nodester [2/2] cxx_link: build/default/src/node-zlib_1.o -> build/default/zlib_bindings.node
nodester Waf: Leaving directory `/node/app/username/repo/node_modules/zlib/build'
nodester 'build' finished successfully (0.214s)
Похоже, это было не полностью установлен , но теперь вместо 503 из-за сбоя сервера он запускается, но теперь скрипт выдает
An error occurred.Object # has no method 'createGzip'
Stack Trace:
TypeError: Object # has no method 'createGzip' at /node_modules/bogart/lib/middleware.js:88:33 at notify (/node_modules/bogart/node_modules/promised-io/lib/promise.js:181:22) at notifyAll (/node_modules/bogart/node_modules/promised-io/lib/promise.js:164:5) at /node_modules/bogart/node_modules/promised-io/lib/promise.js:205:3 at notify (/node_modules/bogart/node_modules/promised-io/lib/promise.js:181:22) at [object Object].then (/node_modules/bogart/node_modules/promised-io/lib/promise.js:234:4) at notify (/node_modules/bogart/node_modules/promised-io/lib/promise.js:183:17) at notifyAll (/node_modules/bogart/node_modules/promised-io/lib/promise.js:164:5) at [object Object]. (/node_modules/bogart/node_modules/promised-io/lib/promise.js:211:3) at /node_modules/bogart/lib/middleware.js:347:22
Извините за стены текста, но этодовольно странно, поскольку он работает локально без каких-либо проблем, подключается БД и все.
Аналогичная проблема в https://github.com/devongovett/pdfkit/issues/42
Есть идеи?