2016-09-08 3 views
1

나는 brew createbrew edit을 사용하여 내 자작용 수식을 만들려고합니다. homebrew 수식에서 디렉토리를 변경하려면 어떻게해야합니까?

는 예를 들어, 나는 서브 디렉토리로 변경하고이 일을 구축 할 필요가이 프로젝트에 설치

cd sub/dir/place 
make -f makefile otherMakeTarget 

의 일환으로 내 formula.rb에 추가 시도

system "cd", "sub/dir/place/" 
system "make", "etc" 

그러나 그것은 제대로 CD를하지 않는 것 같습니다. 로그 파일 01.cd는 cd와 인수를 두 줄로 나누어 표시합니다. 문제가 있는지 확실하지 않습니다.

+0

각'system' 새로운 프로세스를 시작하므로'make'는 이전'system' 과정에서 변경 디렉토리에서 실행되지 않습니다. Ruby에서 구문을 알지 못하지만,'system "cd", "somewhere", "&&", "make" –

답변

2

system을 호출하면 서브 쉘이 작성되고 호출이 완료되면 작업 디렉토리의 수정 사항이 사라집니다.

당신은 chdir를 사용하여 시도 할 수 :

Dir.chdir('sub/dir/place') 
관련 문제