У меня есть рабочий код на моей локальной машине, но проблема с тем же кодом на сервере (Digital Ocean). У меня есть новая/чистая машина с Node v0.10.36
никаких других запущенных сервисов, никаких других портов не занято/не используется.Сбой сервера Express 4 сразу после загрузки файлов статики
После запуска npm start
или node bin/www
я вижу, что запуск сервера, но после того, как я захожу на сайт, сервер падает с ошибкой при слежении:
[email protected]:~/server# npm start
> [email protected] start /root/server
> node ./bin/www
GET/304 129.279 ms - -
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1011:11)
at Process.ChildProcess._handle.onexit (child_process.js:802:34)
npm ERR! [email protected] start: `node ./bin/www`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/www
npm ERR! You can get their info via:
npm ERR! npm owner ls server
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-43-generic
npm ERR! command "/root/.nvm/v0.10.36/bin/node" "/root/.nvm/v0.10.36/bin/npm" "start"
npm ERR! cwd /root/server
npm ERR! node -v v0.10.36
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /root/server/npm-debug.log
npm ERR! not ok code 0
[email protected]:~/server#
может получить ту же самую ошибку на некоторых операционных системах, когда процесс не имеет права на чтение – Paul
я изменил 'app.use (express.static (path.join (__ dirname, 'public'))); 'to' app.use (express.static (__ dirname + '/ public')); '=> снова работал на localhost, но сбой на сервере. В журнале консоли отображается текущий путь, и я уверен, что файлы существуют. –
Вы пытались вывести realpath на сервер? – Bernhard