sudo 권한없이 Homebrew를 설치할 수 있습니까?


26

Homebrew는 sudo 권한없이 패키지 설치를 가능하게하지만 Homebrew 자체를 설치하려면 관리자 권한이 필요한 것 같습니다.

Sudo 또는 관리자 권한이없는 Mac 환경에 Homebrew를 설치하고 싶습니다. 이것이 가능한가?

답변:


12

아뇨 .. 수술을 많이하지 않으면.

그 이유는 Homebrew가에 패키지를 설치할 것을 강력히 주장하기 때문입니다 /usr/local. 사실, 다른 곳에 설치하도록 강요하더라도 brew install패키지를 설치할 때 종속성이 손상 될 수 있습니다 . 대부분의 경우 이러한 패키지가 모두 사전 컴파일되어 링크되어있을 것으로 예상됩니다 /usr/local.

이 주장의 이유 /usr/local는 POSIX가 이와 같은 것을 설치하도록 권장하는 곳 이기 때문 입니다. 만들려면 /usr/local브루 디렉토리 및 할당 소유권을 만들 임시 관리자 자격 증명이 필요합니다.

따라서 자격 증명을 높이 지 않고도 다른 것을 설치할 수 있습니다.


고맙지 만 내 질문을 놓친 것 같아 패키지를 설치하는 방법과 위치를 알고 있지만 관리자 또는 sudo없이 Homebrew 를 설치하고 싶습니다 .
BenjaminGolder

당신의 질문을 놓치지 않았습니다. 대답은 "아니오"였습니다. 우연히 "예"라고 대답했습니다. 원하는 것을 쉽게 수행 할 수 없으며 Homebrew 설치 프로그램을 편집하여 홈 디렉토리의 분기에 항목을 넣도록 강제하더라도 설치 후에 많은 양조가 실패 할 수 있습니다.
David Hoelzer 1

괜찮 감사. 이전의 "예"에 혼란 스러웠습니다.
BenjaminGolder

3
이것은 단지 잘못되었거나 적어도 "중요한 수술"에 대한 정의는 나의 것과 매우 다릅니다. brew5 년 이상 홈 디렉토리로 설정된 접두사를 사용하여 실행 했으며 그 시간에 1 ~ 2 개의 깨진 패키지가 발생했습니다.
James McMahon

그러나 이것도 해결하기 어렵습니다. 오류 : Xcode 라이센스에 동의하지 않았습니다. 다음을 실행하여이 문제를 해결하십시오. sudo xcodebuild -license accept
Albert

17

예.

설치 sudo디렉토리를 사용 하지 않고 선택한 디렉토리를 사용 하도록 수정했습니다 . https://gist.github.com/skyl/36563a5be809e54dc139

그것을 다운로드 YOUR_HOME하고 스크립트에서 절대 경로로 설정하십시오. chmod +x스크립트. YOUR_HOME/usr/local디렉토리를 작성하십시오 . 그런 다음 스크립트를 실행하십시오.

./install.rb

에서 .bash_profile, 나는 설정했습니다 (긍정적이지는 않습니다, 확실히 확신합니다).

export HOMEBREW_PREFIX=/The/path/to/YOUR_HOME/usr/local

이제, 나는 할 수있다 :

brew install wget

있는지 확인 bin디렉토리를, YOUR_HOME+는 /usr/local/bin당신에있다 $PATH.

which wget

1
설치 스크립트 #{YOUR_HOME}에서 HOMEBREW_CACHE변수 에 접두사를 추가해야했습니다 . 그리고 시스템 관리자가 이미 homebrew를 설치했기 때문에 추가 export PATH=/path/to/home/usr/local/bin:$PATH해야 .bash_profile했습니다. 그러나 모든 것이 잘 작동하는 것 같습니다.
golmschenk 2018 년

3
방금 프로세스를 다시 usr수행했으며 스크립트를 실행하기 전에 홈 디렉토리에 디렉토리 를 만들어야한다고 언급하고 싶었습니다 . 또한 변수에 추가 #{YOUR_HOME}할 때 HOMEBREW_CACHE작은 따옴표를 큰 따옴표로 변경해야 작동합니다. 따라서 몇 가지 단계가 있지만 Homebrew의 힘을 얻는 것이 좋습니다.
golmschenk

루비의 문자열 형식을 시작하려면 @golmschenk 큰 따옴표가 필요합니다.
Skylar Saveland

1
좋은 조정입니다. 당신은 정말로자가 양조 프로젝트에 풀 요청을 제출해야합니다.
David Hoelzer

1
macOS Sierra (10.12.3)의 비 관리자 계정에서이 작업을 시도했지만이 작업을 수행해야했기 때문에 작동하지 않았으며 chgrp admin /usr/local비 관리자 계정은 관리 그룹의 구성원이 아니기 때문에 ' 해당 그룹으로 변경하지 마십시오. 이것이 일반 관리자 이외의 계정 (이상한 이유로 sudo에서 잠긴 관리자 계정 만이 아닌)에서 작동하도록하는 것이 좋을 것입니다.
Spiff

0

예.

추출 시스템이 부트 스트랩 가능으로 나타납니다.

#!/bin/bash
set -ex

export HOMEBREW_PREFIX=~/homebrew
# export HOMEBREW_NO_ANALYTICS=1
mkdir -p "${HOMEBREW_PREFIX}"
curl -fsSLk https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C "${HOMEBREW_PREFIX}"

ls -laR "${HOMEBREW_PREFIX}"

export PATH="${HOMEBREW_PREFIX}/bin:${PATH}"
type -a brew

type -a openssl || :
openssl version -a || :

type -a curl || :
curl -V || :

# Fails to lock a .git/config file.
##brew analytics off

# No "brew update" until installing the proper openssl and a curl that uses it.
# brew update

# brew remove openssl || :
brew install openssl
brew link --force openssl

# brew remove curl || :
brew install --with-openssl curl
brew link --force curl || :
curl -V

ls -la "${HOMEBREW_PREFIX}/opt"
ls -la "${HOMEBREW_PREFIX}/bin"
ls -laLR "${HOMEBREW_PREFIX}/opt/curl/"

0

sudo없이 homebrew 를 설치하려면 .

git clone https://github.com/mxcl/homebrew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile

터미널을 다시 시작 하고 실행

brew --version

0

Brew는 git repo를 옮겼 기 때문에 위의 내용이 더 이상 작동하지 않습니다.

git clone git@github.com:Homebrew/brew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile

1
'위'는 Astik Anand의 답변 을 의미 합니까? 항상 '위'에있는 것은 아닙니다. 답변의 내용을 변경해야 할 경우 직접 편집하십시오.
nekomatic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.