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');

Я установил и express, и xml2js с помощью npm. У меня точно такая же версия (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.

19
задан Alberto De Caro 9 October 2012 в 16:05
поделиться