[macos] 사제 권한을 수정하는 방법?

Homebrew는 대부분의 설치가 끝날 때 권한을 거부하므로 아무것도 설치할 수 없기 때문에 지금 3 번 설치 제거했습니다.

예를 들어 현재 직면하고있는이 libjpeg 다운로드 시나리오를 게시하겠습니다.

libjpeg를 설치하고 얻으려고합니다.

$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg

‘brew link jpeg’결과

Error: Permission denied - /usr/local/opt/jpeg

양조 의사가 읽는 내용은 다음과 같습니다.

$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:

jpeg

이 권한 문제로 인해 brew를 사용하는 것이 불가능 해졌으며 어떤 제안이라도 정말 감사하겠습니다.



답변

chown폴더 를 사용하여 문제를 해결할 수있었습니다 .

sudo chown -R "$USER":admin /usr/local

또한 (대부분) 동일한 작업을 수행해야합니다 /Library/Caches/Homebrew.

sudo chown -R "$USER":admin /Library/Caches/Homebrew

분명히 나는 sudo에 대한 폴더 권한을 변경하는 방식으로 이전에 사용했었다 /usr/local.

이 답변은 gitHub 사제 이슈 트래커에 의해 제공됩니다.


답변

그것은 할 수 없습니다로 맥 OS 높은 시에라의 사용자를위한 새로운 명령 chown/usr/local:

bash/zsh:

sudo chown -R $(whoami) $(brew --prefix)/*

fish:

sudo chown -R (whoami) (brew --prefix)/*

참조 : High Sierra에서 / usr / local을 숨길 수 없음


답변

내가 한 것처럼 여기 착륙하는 사람에게 첫 번째 옵션으로, 당신이 제안한 것을 따르십시오.

brew doctor

가장 안전한 길이며 무엇보다도 다음과 같이 제안했습니다.

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

그 권한 문제를 해결했습니다.

OP는 단지 그랬지만 분명히 위의 제안을 얻지 못했습니다. 항상 시작하는 것이 좋으며 도움이되지 않는 경우 사소한 해결 방법 만 찾으십시오.


답변

OSX High Sierra를 사용하는 경우 /usr/local더 이상 chown‘d’가 될 수 없습니다 . 당신이 사용할 수있는:

sudo chown -R $(whoami) $(brew --prefix)/*


답변

/usr/local/Frameworks폴더 가 없었 으므로이 문제가 해결되었습니다.

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

첫 번째 줄은 homebrew (brew)가 사용할 새 Frameworks 폴더를 만듭니다. 두 번째 줄은 해당 폴더에 현재 사용자 권한으로 충분합니다.

사용 된 명령은 다음과 같습니다.

mkdir- 디렉토리 만들기 [ -p 존재하는 경우 오류 없음, 필요에 따라 부모 디렉토리 만들기]

chown- 파일 소유자 및 그룹 변경 [ -R 은 파일 및 디렉토리에서 반복적으로 작동]

whoami- 유효 사용자 ID 인쇄

OSX High Sierra가 있습니다


답변

이 문제가 발생했습니다. 효과적인 해결책은 다음과 같이 /usr/local
대신 현재 사용자의 소유권을 변경하는 것입니다 root.

  sudo chown -R $(whoami):admin /usr/local

그러나 실제로 이것은 올바른 방법이 아닙니다. 주로 컴퓨터가 서버 또는 다중 사용자 인 경우.

내 제안 은 위와 같이 소유권을 변경하고 Brew .. (update, install … 등)로 구현하려는 모든 작업을 수행 한 다음 소유권을 루트로 다시 재설정하는 것입니다.

  sudo chown -R root:admin /usr/local

그러면 문제가 해결되고 소유권이 적절한 세트로 유지됩니다.


답변

최고 투표 답변의 명령이 작동하지 않습니다.

출력되었습니다 :

chown : / usr / {my_username} dmin : 잘못된 사용자 이름

이 명령은 제대로 작동합니다 (/ usr / local에 대한 그룹은 admin이미 사용됨).

sudo chown -R $USER /usr/local