我在我的機器上創建了一個應用程序,它運行良好。我上傳到服務器,並且它與下面的錯誤而崩潰:node.js找不到模塊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)
這是我的應用程序的啓動方式:
var express=require('express');
var http=require('http');
var xml2js = require('xml2js');
var sys = require('sys');
var util = require('util');
我已經安裝有明示或使用NPM xml2js。我的機器和我的服務器上的節點具有完全相同的版本(v0.4.0)。
我已經確定xml2js和express表達式駐留的路徑(/ usr/local/lib/node /)包含在節點查找模塊的路徑中。 (我編輯了文件'module.js'來打印正在查找模塊的路徑。)
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)
那麼,怎麼了?我有正確的道路,模塊在那裏。爲什麼節點找不到它?完全相同的代碼可以在本地機器上順利運行。如果有關係,我的機器是Mac,而服務器運行的是CentOS。
可能相關:http://groups.google.com/group/nodejs/browse_thread/thread/61d6cf86f1593e10 – 2011-02-22 08:10:16