사제 통을 다시 연결하는 빠른 방법이 있습니까?


61

방금 MacBook Air를 Mavericks로 업그레이드했습니다. 이 과정은 거의 모든 심볼릭 링크를 제거 것으로 보인다 homebrew에 넣어 /usr/local/bin. 내가 누락 된 것을 발견하면 다시 링크를 통해 다시 연결합니다 brew unlink <keg> && brew link <keg>(심볼 링크가 사라졌지 만 homebrew여전히 존재한다고 생각하므로 unlink먼저 해야합니다 ). 다소 비효율적입니다.

모든 것을 반복 할 수는 /usr/local/Cellar있지만 모든 통이 자동으로 연결 되는 것은 아니며 연결하지는 않습니다. 그래서 다음 추측은 모든 링크 된 통 을 나열 하고 다시 연결하는 것입니다 (위를 사용하여).

homebrew 생각 하는 모든 통을 찾아서 다시 연결할 수있는 마술 명령이 있습니까?


Migration Assistant를 사용하여 "모든 것"을 이전 Mac에서 새로운 Mac으로 옮겼으며 모든 홈 브루 심볼 링크도 잃어 버렸습니다. 성가신.
Grav

답변:


39

/usr/local/Library/LinkedKegs 링크 된 통의 목록이 포함되어있는 것 같습니다.

ls -1 /usr/local/Library/LinkedKegs | while read line; do
    echo $line
    brew unlink $line
    brew link --force $line
done

/usr/local/lib이 작업을 시도하기 전에 다시 쓰기 권한이 있는지 확인하는 것이 좋습니다 .


이것이 나의 양조장을 작동 상태로 회복 시켰다는 것을 확신하십시오. 감사!
Robert Massaioli

놀랍습니다, 고맙습니다 :) 마음에 들지 않으면 그냥 그것으로 요점을 만들었습니다. 우리 가이 문제에 직면 한 유일한 사람은 아니라고 확신합니다. goo.gl/YTPMjh
Stone Alessandro

1
아니, 하지마 --force! brew link충분해야하며 일부 통은 실제로 연결되어서는 안됩니다 (시스템 라이브러리와 충돌 할 수 있으므로) --force.
크리스 제퍼슨

허. 내가 삭제 한 것 같습니다 /usr/local/Library.
Kyle Strand

59

이 bash 명령은 거기 에서 가져온 모든 수식을 연결 해제 한 다음 다시 연결합니다.

brew list -1 | while read line; do brew unlink $line; brew link $line; done

모든 수식을 연결해야한다고 생각합니다. 그렇지 않으면 도구에 따라 수식을 찾을 수 없습니다.


모든 수식을 연결해야하는지 잘 모르겠습니다. 일부는 통에만 있지만 일부는 다른 것들의 종속성으로 설치 되었으므로 알 수 없습니다.
루프 스페이스

4
"경고 : extempore는 술통 전용이며 --force와 연결되어야합니다"와 같은 경고가 표시됩니다.
Grav

2
다음은 xargs를 사용하는 동등한 버전입니다.brew list -1 | xargs -I formula sh -c "brew unlink formula && brew link formula"
paulmelnikow

사용하기 좋습니다. 10.12.6 mac OS를 사용하고 있습니다.
Raju yourPepe

8

이 질문에 대한 다른 답변 외에도 여러 버전이 설치된 수식을 다시 연결해야 할 수도 있습니다 ( brew link이 작업을 수행하지는 않음).

먼저 가능한 모든 수식을 다시 연결하십시오.

brew list -1 | while read line; do brew unlink $line; brew link --force $line; done

그런 다음를 실행 brew doctor하면 불만을 제기하고 두 가지 목록을 제공해야합니다.

  • 여러 버전의 연결되지 않은 수식
  • 원래의 재 연결 과정에 의해 잘못 연결된 통만 수식.

여러 버전의 각 수식에 대해 다음을 실행하여 "python"을 수식 이름으로 바꿉니다.

brew info python  

여기에는 다른 모든 정보 중에서 설치된 모든 버전이 표시됩니다. 연결할 버전을 선택하고 (2.7.6)brew switch

brew switch python 2.7.6

또한 brew unlink연결된 케그 전용 수식 목록 (있는 경우) 에서 실행하려고합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.