2013-06-19 2 views
0

짧은 버전 : 내 양조장 설치의 엄청난 혼란을 초래했다고 생각합니다.병합 충돌로 인해 BREW가 비활성화되었습니다.

brew install ruby 

매우 간단 보였다 :

롱 버전 ...

나는 루비를 설치하려고 하루를 시작했다. 내가 즉,

sudo chmod -R 777 /usr/local 
Warning: /usr/local/<dir> isn't writable. 
This can happen if you "sudo make install" software that isn't managed by 
by Homebrew. If a brew tries to write a file to this directory, the 
install will fail during the link step. 

은 결국 나는 거대한 chmod를 함께이 문제를 해결 형태의 오류의 긴 목록을 발견

Error: Cannot write to /usr/local/Cellar 

양조 의사를 실행 한 후 : 즉시이 오류에 달렸다

트릭을 수행하는 것처럼 보였습니다.

거기에서 간단한 "양조 업데이트"를 시도했습니다. 할 다른 무엇을

error: Your local changes to the following files would be overwritten by merge: 
<list of about 100 files> 
Please, commit your changes or stash them before you can merge. 

확실, 나는 "자식 커밋"실행 성공적으로 (나는 그들이 무엇인지 전혀 모르는) 내 변경 내용을 커밋이 나에게 새로운 문제를했다. BREW 업데이트와 병합 할 때 변경 사항을 덮어 쓰는 것이 쉽다는 것을 알았습니다 ...

... 분명히 그렇지 않았습니다.

Auto-merging share/man/man1/brew.1 
Auto-merging Library/Homebrew/version.rb 
CONFLICT (content): Merge conflict in Library/Homebrew/version.rb 
Auto-merging Library/Homebrew/test/testing_env.rb 
Auto-merging Library/Homebrew/test/test_versions.rb 
CONFLICT (content): Merge conflict in Library/Homebrew/test/test_versions.rb 
Auto-merging Library/Homebrew/test/test_requirement.rb 
Auto-merging Library/Homebrew/test/test_formula_validation.rb 
CONFLICT (modify/delete): Library/Homebrew/test/test_dependency_expansion.rb deleted in HEAD and modified in 9e3aa8925cf4b03a5b1fda13971dde84e1162c41. 

양조 내 모든 파일의 및 "[해시 코드] >>>>>>>" '의 "< < < < < < < HEAD"가 지금의 : 여기에 양조 업데이트에서 일부 샘플 출력입니다 그들 주위에 흩어져있다. 나는 많은 자식 경험이 없어,하지만 난 지금이 ​​끔찍한 아이디어라고 꽤 확신

git checkout --theirs * 
git add . 
git merge 

:이 문제를 해결하려고하기 위해, 나는 here을 발견 몇 가지 명령을 실행했습니다. 힘내는 내가 병합 할 변화가 없다고 확신하지만, 모든 코드는 "< < < < < < < HEAD"등의 태그가있다. brew의 기본 코드를 읽을 수 없기 때문에 "brew doctor"또는 "brew update"도 실행할 수 없습니다. 내가 좋은 생각 같은 느낌

결론 ...

내가 모든 내 양조 설치를 다시 설치해야하는 것을 제외하고, 제거하고 양조를 다시 설치하는 것입니다. 그리고 "brew list"를 실행할 수 없기 때문에 나는 이것이 무엇인지 모릅니다. 원격 변경 사항을 모두 수용 할 수있는 방법이 있습니까? 내가 지금 무엇을 할 수 있을까?

답변

1

chmod -R 777은 보안 상 매우 나쁩니다. 이렇게하면 모든 파일과 디렉토리가 세계에서 읽기 쉽고 실행 가능하게됩니다. 모두은 자신이 좋아하는 것을 할 수 있습니다.매우 대부분의 디렉토리에서

775의 권한이 있어야합니다 - 755/usr/local/bin에 존재하는 그들이 경우에 그들은 다시 755을해야 실행 파일입니다하지 않는 파일이 664 또는 644해야 하나.

/usr/local/으로 재귀 적으로 변경되면 상태/커밋에 나열된 모든 파일에 권한이 변경되어 brew가 불만을 나타냅니다. 많이 보이지는 않을지 모르지만 그것은 git과 시스템의 보안을 의미합니다.

이 다시 얻을 수있는 유일한 방법은 가능한 I 다른 모든에서 응용 프로그램과 함께 잘 재생되지 않습니다 git reset --hard origin/master

양조와 완전히 커밋 제거 후 /usr/local/에서 각 파일/디렉토리에 대한 사용 권한을 다시 설정하는 것입니다 당신이 정말로 필요하지 않는 한 그것의 사용을 피하는 것이 좋습니다.

+0

감사합니다. 나는 이와 같은 시스템에 대한 경험이별로 없다. 하드 리셋은 필자가 필요로하는 것이었고, 권한 재설정에 대해 살펴볼 것입니다. – NcAdams

관련 문제