WSL2를 사용하여 Ubuntu를 설치했습니다.
이제 작업 디렉토리에 \\wsl$\Ubuntu\home\ponomarchukov\nodejs
npm 패키지를 설치하려고 합니다.
npm install express
그래서 다음 오류가 발생합니다.
-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
이 문제를 해결하는 방법은 무엇입니까?
답변1
사용 중인 쉘 npm
스크립트의 끝에는 캐리지 리턴(Ctrl-M, ASCII 13)이 있습니다. Unix 시스템에서 쉘 스크립트에 캐리지 리턴을 지정하는 것은 오류입니다. 줄은 줄 바꿈으로만 끝나야 합니다. Windows용 Git과 함께 제공되는 bash 버전을 사용하는 경우에도 마찬가지입니다.
쉘 스크립트를 어디서 가져오는지 파악 npm
하고 캐리지 리턴이 포함되지 않도록 수정해야 합니다. 와 같은 프로그램을 사용하여 이 작업을 수행할 수 있습니다 dos2unix
. Git으로 체크아웃했기 때문에 이 메시지가 표시된다면 gitattributes
매뉴얼 페이지를 읽고 특정 파일이 항상 Unix 줄 끝( )을 갖도록 설정하는 방법에 대해 자세히 알아보세요 eol=lf
.
답변2
실제로 사용하고 있는 터미널에서 WSL을 시작하셨나요? 또한 우분투에 node/npm을 설치하셨나요? Windows 설치에서 npm을 사용하는 것 같습니다. 나는 추천할 수 있다NVM, 간단한 설치 스크립트가 있습니다. 이는 노드용 다운로드 관리자이며 Linux에서 node/npm을 쉽게 설치/업데이트할 수 있습니다.