우분투 12.10 64 비트에서 파이썬 서브 프로세스를 통해 jshint를 사용 하여이 오류가 발생했습니다.
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
디렉토리를 현재 디렉토리로 변경하려고 시도했지만 실패했습니다.
오류를 재현하는 방법 :
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 ..오류가 발생하지 않을 때까지 명령을 실행하십시오 . 이것은 터미널을 파일 시스템과 다시 동기화합니다. 그런 다음 디렉토리로 다시 cd하십시오. 다시 시도하십시오. 오류가 사라집니다.
사용 su youruser단말기에서이 암호를 입력합니다. 새로 고침되어 같은 디렉토리로 돌아갑니다.
오래된 디렉토리 서명을 플러시하는 터미널을 닫았다가 다시 엽니 다. 또는 오래된 디렉토리 서명을 허용하거나 복구 할 수없는 모든 프로그램 (jshint) 또는 수천 개의 다른 프로그램에 nastymail을 보내십시오.
cd [PATH]쉘을 입력 하여 기존 쉘로 이동하십시오.