2016-12-09 2 views
0

레일이나 레일과 같은 다른 바이너리를 호출 할 때마다 nodejs를 호출하고 노드가 모듈을 찾을 수 없다고합니다. 다른 폴더에npm을 실행하면 현재 디렉토리의 이진 파일을 찾습니다.

Error: Cannot find module '/home/jekku/node' 
    at Function.Module._resolveFilename (module.js:470:15) 
    at Function.Module._load (module.js:418:25) 
    at Module.runMain (module.js:605:10) 
    at run (bootstrap_node.js:420:7) 
    at startup (bootstrap_node.js:139:9) 
    at bootstrap_node.js:535:3 

실행 NPM은 말할 것

Error: Cannot find module '/home/jekku/somefolder/node' 
    at Function.Module._resolveFilename (module.js:470:15) 
    at Function.Module._load (module.js:418:25) 
    at Module.runMain (module.js:605:10) 
    at run (bootstrap_node.js:420:7) 
    at startup (bootstrap_node.js:139:9) 
    at bootstrap_node.js:535:3 

은 무슨 일 것입니다 :

예를 들어, homefolder에서 NPM을 실행 말해 것인가?

편집 :

이것은 또한 RVM으로 발생합니다. RVM을 실행하면 말한다 :

Error: Cannot find module '/home/jekku/bash' 
    at Function.Module._resolveFilename (module.js:470:15) 
    at Function.Module._load (module.js:418:25) 
    at Module.runMain (module.js:605:10) 
    at run (bootstrap_node.js:420:7) 
    at startup (bootstrap_node.js:139:9) 
    at bootstrap_node.js:535:3 
+0

나는 그런데 nodeJS를 제거하려고 시도했다. 그러나 아무 소용이 아직도 실패합니다. – Jekk

+0

goto 노드 디렉토리 u 노드 설치 – Adiii

답변

0

내가 nodeJS의 바이너리는/usr/빈에서 'ENV'바이너리를 덮어 때문이다 것을 알아 냈다.

바이너리를 복원하기 위해 Linux 용 coreutils 패키지를 다시 설치했습니다.

이렇게하면 전 처리기 명령 '#!/usr/bin/env'가있는 모든 인터프리터가 올바른 ENV를 감지하지 않고 nodeJS를 사용하여 스크립트를 실행할 수 있습니다.

관련 문제