Złożyłem aplikację na moim komputerze i działa dobrze. Wysłałem go do serwera, a to jest upaść z powodu następującego błędu:node.js nie może znaleźć modułu xml2js
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'xml2js'
at Function._resolveFilename (module.js:289:11)
at Function._load (module.js:241:25)
at require (module.js:317:19)
at Object.<anonymous> (/var/www/node/price/index.js:3:14)
at Module._compile (module.js:373:26)
at Object..js (module.js:379:10)
at Module.load (module.js:305:31)
at Function._load (module.js:271:10)
at Array.<anonymous> (module.js:392:10)
at EventEmitter._tickCallback (node.js:108:26)
W ten sposób rozpoczyna się moja aplikacja:
var express=require('express');
var http=require('http');
var xml2js = require('xml2js');
var sys = require('sys');
var util = require('util');
Mam zainstalowany zarówno ekspresowych i xml2js użyciu KMP. Mam dokładnie tę samą wersję (v0.4.0) dla węzła na moim komputerze i moim serwerze.
Upewniłem się, że ścieżka zawierająca xml2js i express reside (/ usr/local/lib/node /) jest zawarta w ścieżkach, w których węzeł szuka modułów. (I edytowany plik „module.js”, by wydrukować ścieżki gdzie szuka modułów.)
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'xml2js', in paths: /root/.node_modules,/root/.node_libraries,/usr/local/lib/node,/var/www/node/price/node_modules,/var/www/node/node_modules,/var/www/node_modules,/var/node_modules,/node_modules
at Function._resolveFilename (module.js:289:11)
at Function._load (module.js:241:25)
at require (module.js:317:19)
at Object.<anonymous> (/var/www/node/price/index.js:3:14)
at Module._compile (module.js:373:26)
at Object..js (module.js:379:10)
at Module.load (module.js:305:31)
at Function._load (module.js:271:10)
at Array.<anonymous> (module.js:392:10)
at EventEmitter._tickCallback (node.js:108:26)
Więc co jest nie tak? Mam właściwą ścieżkę, moduł jest tam. Dlaczego węzeł nie może go znaleźć? I dokładnie ten sam kod działa płynnie na mojej lokalnej maszynie. Jeśli to ma znaczenie, mój komputer to komputer Mac, a na serwerze działa CentOS.
prawdopodobnie związane: http://groups.google.com/group/nodejs/browse_thread/thread/61d6cf86f1593e10 –