Question

TLDR: l'application de nœud fonctionne localement, ne fonctionne pas sur Nodester.com, semble être un problème NPM.

Version détaillée:

J'ai écrit une application de nœud avec Bogart et Couchdb (essentiellement après http://howtonode.org/bogart-couchdb ) et il fonctionne bien localement .

J'ai installé les extensions de nœud localement avec

npm install bogart
npm install couchdb

sur NODEDER, je les ai installés via la cli comme

nodester npm install bogart couchdb

et il succès retourné .

Maintenant, j'ai poussé mon code de travail à la répétition de Nodester.com et a rencontré des problèmes, script se bloque et le journal a dit

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)

Après cela, j'ai essayé

nodester npm install zlib

et il est retourné

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)

On dirait que c'était pas complètement installé , mais maintenant, au lieu d'un 503 en raison d'un accident de serveur, il semble commencer. Mais maintenant le script jette 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

Désolé pour les murs de texte, mais c'est un peu étrange car il fonctionne localement sans aucun problème, le DB Connect et tout.

numéro similaire à https://github.com/devongovett/pdfkit/issues/42

Des idées?

Était-ce utile?

La solution

Avec l'aide du Nodder Devs, je peux maintenant donner une explication pourquoi une solution pour ce problème est actuellement indisponible .

La bibliothèque ZLIB de nœud.js dans les versions avant 0,6.x peut parfois causer des problèmes (liés aux fixations) avec certains modules de noeuds.Ceci a été corrigé en 0.6.Des problèmes similaires surviennent lorsque vous essayez d'installer pdfkit sur 0.4.x via NPM.

Cependant, nodester actuellement (ceci est fin février 2012) est exécuté sur 0.4.9 (ish) et la prise en charge de 0,6.x ou plus est en cours de développement.Cela signifie que Bogart devra s'asseoir jusqu'à ce que différentes versions de Node.js fonctionnent sur Nodder.

Un grand shoutout pour les Devs de Nodder pour leur soutien rapide, étendu et charmant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top