2017-05-10 6 views
0

link은 리눅스 컴퓨터에서 npm의 javascript 파일을 사용하려고하는데 문제가 있습니다. 그냥 가정 간단한 스크립트와 package.json :노드 스크립트 파일에 명령을 연결할 수 없습니다. 해당 파일이나 디렉토리가 없습니다.

package.json

"bin": { 
    "test": "./test.js" 
}, 

test.js

#!/usr/bin/env node 
console.log("test"); 

설치

$ sudo npm install 
$ sudo npm link 

Windows 시스템에서이 작업을 수행해도 문제가 발생하지 않습니다. 모든 것이 잘 작동합니다.

: 그러나 리눅스/Raspbian 시스템에이 말해 유지하지

$ sudo ln -s /usr/bin/nodejs /usr/bin/node 

그리고 될 : 이미와 노드의 바이너리를 연결 한 그런 파일이나 디렉토리

을 물론 노드의 최신 버전 인 7.10.0으로 업데이트했습니다. 그러나 아무것도 도움이되지 않습니다. 메시지가 계속 나타납니다. 나는 무엇이 잘못 됐는지 전혀 모른다. ...

+0

''test' \'(백틱 포함)''test''를 실행하면 어떻게 될까요? – sgtdck

+0

@sgtdck 처음에는'/ usr/bin/test'가 표시되고 두 번째는': 해당 파일이나 디렉토리가 없습니다'라고 표시됩니다. – eisbehr

답변

0

긴 검색 후, 문제는 윈도우 라인 엔딩 인 것 같다. 유닉스 스타일의 결말로 변환해야했습니다. 이것이 내가 만든 유일한 변화 였고 이제는 효과가 있습니다. 수행 한 후

$ sudo apt install dos2unix 
$ sudo dos2unix test.js 

다음 node 인터프리터 자체가 원본 파일에 문제가 없기 때문에이 문제는 설치 파일을 변환 dos2unix를 사용하는이 테스트

... 만 shebang 라인에 속하는 이 초기의 test 명령은 매력처럼 작동합니다. 따라서 개발 버전의 파일을 유닉스 스타일로 변경 했으므로 더 이상이 파일을 실행할 필요가 없습니다.