Domanda

TLDR: l'app Node funziona a livello locale, non funziona su nodester.com, sembra essere un problema NPM.

Versione dettagliata:

Ho scritto un'app per nodi con Bogart e CouchDB (fondamentalmente seguendo http://howtonode.org/bogart-couchdb) ed esso funziona bene localmente.

Ho installato le estensioni del nodo localmente con

npm install bogart
npm install couchdb

Su Noderster, li ho installati tramite la CLI come

nodester npm install bogart couchdb

ed esso successo restituito.

Ora ho spinto il mio codice di lavoro sul repository nodester.com e mi sono imbattuto nei guai, Lo script si arresta in modo anomalo E il registro ha detto

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)

Dopodiché, ho provato

nodester npm install zlib

E è tornato

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)

Sembra che fosse non completamente installato, ma ora, invece di un 503 a causa di un crash server, sembra iniziare. Ma ora lo script lancia un

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

Ci scusiamo per le pareti del testo, ma questo è un po 'strano poiché funziona localmente senza problemi, il DB si connette e tutto.

Problema simile a https://github.com/devongovett/pdfkit/issues/42

Qualche idea?

È stato utile?

Soluzione

Con l'aiuto degli sviluppatori di nodester, ora posso fornire una spiegazione perché a La correzione per questo problema non è attualmente disponibile.

Il Zlib Libreria di node.js nelle versioni Prima di 0.6.x A volte può causare problemi (correlati ai legami) con determinati moduli di nodo. Questo è stato fissato in 0,6. Problemi simili sorgono quando si tenta di installare PDFKIT su 0.4.x tramite NPM.

Tuttavia, NODESTER Attualmente (questa è fine a febbraio 2012) Funziona su 0.4.9(ISH) e il supporto per 0,6.x o superiore è attualmente in fase di sviluppo. Ciò significa che Bogart dovrà sederlo fino a quando le diverse versioni di Node.js funzionano su Noderster.

Un grande grido agli sviluppatori di Noderster per il loro supporto veloce, ampio e affascinante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top