Я создал приложение на своей машине, и оно работает хорошо. Я загрузил его на сервер, и он дает сбой со следующей ошибкой:
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.