Я почти уверен, что ваша формула Homebrew - это просто класс Ruby с некоторой магией DSL, чтобы сделать ее более дружелюбной.Это означает, что system
запускает команды в отдельном процессе, поэтому:
system "cd", "some_directory"
изменит текущий каталог в отдельном процессе, а затем этот процесс завершится без влияния на родительский процесс.
Youследует использовать Dir.chdir
вместо:
Dir.chdir buildpath/"src/github.com/acarl005/ls-go" do
system "go", "get", "./"
end
system "go", "build", "-o", bin/"ls-go"
Использование блочной формы (т.е. Dir.chdir dir do ... end
) изменит директивы, запустит команду system
, а затем вернется к исходномуперед продолжением, поэтому вам не нужно беспокоиться о cd -
части.