2013-11-12 5 views
25

Я новичок в nodeJS, а также новичок в StackOverflow ...Ошибка NodeJS: node.js: 810 var cwd = process.cwd();

Я начинаю разрабатывать свой первый SPA, используя RequireJS для компиляции моих источников в папку «dist». Я имел NodeJS под управлением базового сценария для запуска моего сервера:

var connect = require('connect'); 
connect.createServer(
    connect.static(__dirname) 
).listen(8080); 

Все работало хорошо, пока я снова скомпилировать мой SRC. Это заменило все файлы, обслуживаемые моим сервером, поэтому, хотя я бы перезапустил узел. Я Ctrl^C, и с этого момента я не могу заставить Node начать снова. Когда я пытаюсь запустить:

olivier$ node server.js 

Я получаю эту ошибку:

node.js:810 
    var cwd = process.cwd(); 
       ^
Error: ENOENT, no such file or directory 
    at Function.startup.resolveArgv0 (node.js:810:23) 
    at startup (node.js:58:13) 
    at node.js:901:3 

Что странно, что я получаю ту же ошибку просто пытается начать NodeJS, просто делать:

olivier$node 

Кто-нибудь имеет представление о том, что я могу сделать, помимо удаления узла и его повторной установки?

ответ

15

Может ли быть, что RequireJS также воссоздает каталог, содержащий ваш server.js?

Try и посмотреть, если это работает:

$ cd $PWD; node server.js 

Хотя это кажется бесполезным, чтобы изменить каталог текущего каталога, суть заключается в том, что, когда каталог будет удален, а это текущий рабочий каталог вашей оболочки, оболочка остается в состоянии свисания, потому что она все еще «прикреплена» к ранее удаленной директории. Это также влияет на любые процессы, которые вы начинаете с этой оболочки (например, Node), и может приводить к запутывающим ошибкам.

Выполняя cd $PWD, вы убедитесь, что ваша оболочка получает «повторно подключен» к новой созданной версии каталога, разрешая состояние оборванности.

+0

Ровно! Это была проблема! Большое спасибо за вашу помощь! – user2984480

+1

спасибо - я не знаю, почему, но «cd $ PWD» также решил мои проблемы (Grunt). Не является ли «cd $ PWD» абсолютно бесполезной командой? я имею в виду, очевидно, что это не так, но кто-нибудь может объяснить почему? – fbtb

+10

@fbtb, если ваш текущий каталог удаляется (например, при запуске программы, которая сначала удаляет его, а затем создает его снова), ваша оболочка остается в обвисшем состоянии (поскольку она все еще «прикреплена» к ранее удаленной директории). Выполняя 'cd $ PWD', вы убедитесь, что ваша оболочка« повторно привязана »к вновь созданной версии каталога. – robertklep

81

Я получил это при попытке запустить узел REPL из каталога, который я уже удалил (из другой оболочки). Не позволяйте этому случиться с вами, или вам будет стыдно.

+20

Мне стыдно ... – Spoom

+4

Я тоже! Спасибо, что были храбрыми и вышли об этом;) –

+0

Решил мою проблему. – nottinhill

Смежные вопросы