`/ usr / local`의 파일을 homebrew에 쓸 수 있도록 작성


35

나는 홈브류를 훌륭하게 작동 시키려고 노력했지만 내부의 모든 것이 /usr/local쓰기 가능하지 않으며 모든 것이 넘어집니다.

그것은 재귀 적으로 나에게 계속 말하고 chown /usr/local, 나는 그것을 시도했다. 작업이 거부되었으므로 sudo'd. 그것은 작동하는 것처럼 보였지만, 들리는 엉뚱한 침묵으로 유닉스에서는 공손한 것으로 간주됩니다. 불행히도, 모든 후속 시도 brew update는 동일한 오류 메시지 를 충족시킵니다.

명령을 다시 실행했으며 -v내부에 아무것도 허용되지 않는 것으로 보입니다.

대답은 아마 "UNIX를 배우는 것"일뿐입니다. 루비에 대한 튜토리얼을 위해 여기에 몇 가지 작업 요구 사항을 따르려고 노력하고 있습니다.

brew doctor:

Warning: /usr/local/Frameworks isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/Frameworks
Warning: /usr/local/Cellar isn't writable.
You should `chown` /usr/local/Cellar
Warning: /usr/local/etc isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/etc
Warning: /usr/local/include isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/include
Warning: /usr/local/lib isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/lib
Warning: /usr/local/lib/pkgconfig isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/lib/pkgconfig
Warning: /usr/local/opt isn't writable.
You should `chown` /usr/local/opt
Warning: /usr/local/share isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/share
Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `chown` them:

    /usr/local/share/man
    /usr/local/share/man/man1
    /usr/local/share/man/man3
    /usr/local/share/man/man5
    /usr/local/share/man/man7
    /usr/local/share/man/man8
Warning: /usr/local/var isn't writable.

This can happen if you "sudo make install" software that isn't managed by
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.

You should probably `chown` /usr/local/var

않습니다 brew doctor당신에게 유용한 아무것도 말하지? 출력을 여기에 게시하십시오.
Ian C.

@IanC. 양조와 관련하여 쓸 수없는 모든 것의 긴 목록입니다. stackexchange pastebin 유틸리티가 있습니까? 있다 엄청 많이 그것의가.
Tigt

글쎄, 그건 이상하다. 지금보다 훨씬 적습니다.
Tigt

단지 참고 : 나는 방금 실행 brew update하여 "Homebrew가 더 이상 / usr / local의 소유권을 가질 필요가 없음"을 발견했습니다. 이 질문에 대한 추가 정보 . 분명히 당신은 여전히 일시적으로 권한을 업데이트해야하는 것 그 시점에 도착하는 / usr / 지방 :에
acobster

답변:


26

다음과 같은 방법으로 해당 디렉토리의 권한을 변경하여 해결해야합니다.

$ cd /usr/local
$ sudo chown -R <your-username>:<your-group-name> *

그룹을 모르는 경우을 입력하십시오 id -g.


중요한 부분은 -R재귀를 만드는 것입니다. 그리고 아마도 chownusing 을해야합니다 sudo. 사용자 그룹을 위해, 나는 보통 staffOS X에서 사용합니다 .
nwinkler

흥미 롭군 그룹을 사용하는 것이 사용자와 다른 이유는 무엇입니까?
Tigt

4
사용자가 / usr / local을 소유하는 것이 왜 옳습니까? / usr / local을 사용하고 자동으로 인계받을 수있는 다른 프로그램이 많기 때문에 이것이 보안 위험이라고 생각합니다. 양조에 정말 과감한 것이 필요합니까?
dfrankow

1
나는 'staff'그룹을 선택할 때 이것이 위험하다고 생각합니다. 즉, OS의 모든 사용자는 / usr /의 내용을 변경할 수 있습니다. 아마도 'admin'으로 전환해야합니다.
17:23에 불신

1
@dfrankow yep, 이것은 homebrew의 실수입니다. 그들은 같은 컴퓨터에 두 명의 사용자가 있으면 어떻게 될지 생각하지 못했습니다.
poige

22

다음 과 같이 상승 된 권한으로 명령을 실행 하려면 sudo 를 사용해야 합니다.

sudo chown -R `whoami` /usr/local

나는했다. "작업이 거부되었으므로 sudo'd."
Tigt

1
생선 껍질 사용자의 경우sudo chown -R (whoami) /usr/local
kibin

10

나는 맥 OS 10.13.4 어제이 문제에 직면했다 내가하려 sudo chgrp -R admin /usr/local하거나 sudo chown -R <your-username>:<your-group-name> /usr/local하는 것은 얻을 Operation not permitted사용하더라도 오류sudo

단지하려고 나는 그래서 chgrp위해 Homebrew관련된 폴더 admin(내 사용자에 admin와 부여 실행중인 사용자에 따라, 그룹, 다른 그룹에 변화 beed 수) admin이 명령을 사용하여 그룹이 폴더에 대한 쓰기 권한을

sudo chgrp -R admin /usr/local/Homebrew/
sudo chmod -R g+w /usr/local/Homebrew/
sudo chgrp -R admin /usr/local/var/homebrew/
sudo chmod -R g+w /usr/local/var/homebrew/

이 명령을 실행 한 후 문제없이 새 패키지를 설치할 수 있습니다. 권한 문제가 다시 발생하면 폴더 이름을 권한 문제가 발생한 이름으로 바꾸어 처음 두 명령을 실행하십시오.

이것이 macOS 10.13을 사용하는 다른 사용자에게 도움이되기를 바랍니다.

참고 : 소유자를 /usr/local변경하거나 그룹을 변경하고 그룹에 /usr/local대한 액세스 권한을 부여하더라도 다른 관련없는 폴더를 수정하는 경우에도 그렇게하지 않아야합니다. 필요한 폴더를 수정하는 것이 훨씬 안전합니다.


이것은 정말로 나에게 잘 어울린다! <3 감사
DariusV

정답으로 투표해야합니다! 당신의 도움을 주셔서 감사합니다!
Yini

2

디렉토리의 권한 문제를 해결하기 위해 다음 명령을 수행 할 수 있습니다.

brew prune

1

그것은 나를 위해 일했다.

sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local

0

의 레자로 대답 이 질문에 나를 위해 일한 :

sudo chown -R $(whoami) /usr/local/*

/ usr / local 자체에 대한 권한은 변경할 수 없지만 아래 폴더에 대한 올바른 권한은 변경할 수 있습니다

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