Я отримав цю помилку, використовуючи jshint через підпроцес python на Ubuntu 12.10 64 біт.
node.js:464
var cwd = process.cwd();
^
Error: ENOENT, no such file or directory
at Function.resolveArgv0 (node.js:464:23)
at startup (node.js:51:13)
at node.js:555:3
Це викликано тим, що ви видалили або перемістили каталог із-під нього, і поточний каталог не можна визначити.
Як сказати, чи є у вас проблема:
Виконайте команду cd .
(Якщо ви отримаєте цю помилку, то у вас є ця проблема).
el@apollo:~/foo$ cd .
cd: error retrieving current directory: getcwd: cannot access parent
directories: No such file or director
Ви намагалися змінити каталог у свій поточний dir, але не змогли.
Як відтворити помилку:
jshint впливає на цю помилку. Створіть каталог foo
, введіть його в CD, зробіть файл з назвоюmyjavascript.js
cd /home/el
mkdir foo
cd foo
touch myjavascript.js
jshint myjavascript.js
jshint працює правильно, він говорить про відсутність помилок, які є правильними.
Відкрийте другий термінал, а rm -rf
каталог /home/el/foo
знизу.
rm -rf /home/el/foo
Запустіть jshint myjavascript.js
ще раз свій перший термінал, і ви отримаєте помилку:
el@apollo:~/foo$ jshint myjavascript.js
node.js:464
var cwd = process.cwd();
^
Error: ENOENT, no such file or directory
at Function.resolveArgv0 (node.js:464:23)
at startup (node.js:51:13)
at node.js:555:3
Директорія пішла! І навіть якщо ви замінили його тим самим вмістом, він має іншу підпис і термінал не може відновитись, метод getcwd
не може знати, що таке поточний каталог.
Три рішення:
Термінал плутається з приводу того, що поточний каталог, тому що його пішов або змінився підпис. Виконайте одне із них, щоб виправити це:
Запускайте команду, cd ..
поки ви не перестанете отримувати помилки. Це повторно синхронізує термінал з файловою системою. Потім поверніть компакт-диск назад у свій каталог. Спробуйте ще раз. Помилка усувається.
Використовуйте su youruser
в терміналі, введіть пароль. Це освіжає і повертає вас до тієї ж директорії.
Закрийте та знову відкрийте термінал, який вимиває застарілі підписи каталогів. Або надішліть неприємну пошту будь-якій програмі (jshint) або тисячам інших програм, які не переносять або не відновляються після усталених підписів каталогів.
cd [PATH]
свою оболонку, щоб перейти до існуючої.