cmd가 /cygdrive/c/ 내부의 파일을 실행할 수 없습니다.

cmd가 /cygdrive/c/ 내부의 파일을 실행할 수 없습니다.

저는 Ruby on Rails 애플리케이션을 실행하고 있습니다. 앱 내부에는 pngcrush. 이를 수행하는 방법은 를 which pngcrush반환하는 명령을 실행하는 것입니다 /cygdrive/c/Windows/system32/pngcrush. 그러나 gem이 시스템 호출을 사용하여 명령을 실행하려고 하면 `/cygdrive/c/Windows/system32/pngcrush somefile.jpg newfile.jpg`실패합니다. 파일을 찾을 수는 있지만 실행할 수는 없는 것 같습니다. cmd아마도 bash.

즉, cmd내에서 다음을 입력하면 /cygdrive/c/Windows/system32/pngcrush가 표시됩니다 The system cannot find the path specified. cmd를 입력 하면 bashbash 내에서 동일한 내용을 입력하면 작동합니다. 다른 사람이 작성한 Gem을 수정할 수 없습니다.

답변1

내 생각에 Ruby와 같은 프로그램은 /cygdrive/c/windows/와 같은 경로를 사용하지 않고 자체 환경을 갖고 환경이 무엇인지 파악한 다음 다른 명령을 실행하고 경로를 인쇄하려고 시도합니다. 다른 프로그램을 호출하는 방법을 이해해야 합니다.

답변2

pngcrush의 Windows 버전 대신 또는 추가로 pngcrush의 cygwin 버전을 설치하십시오. cygwin 버전이 제대로 작동해야 합니다.

관련 정보