Como modificar PATH para Homebrew?


150

Tentando instalar o ruby ​​1.9.3, leia que preciso instalar o homebrew primeiro. Funcionou médico de fermentação e está me dando um monte de avisos. Um dos quais é:

Aviso: / usr / bin ocorre antes de / usr / local / bin Isso significa que os programas fornecidos pelo sistema serão usados ​​em vez dos fornecidos pelo Homebrew. As seguintes ferramentas existem nos dois caminhos:

easy_install
easy_install-2.6

Considere alterar seu PATH para que / usr / local / bin esteja à frente de / usr / bin em seu PATH.

Como alguém faz o que está pedindo aqui?


1
@AristotlePagaltzis 's resposta sobre SuperUser dá a melhor solução, na minha opinião, permitindo que seus aplicativos do sistema para continuar a usar /usr/bin, enquanto você liga simbolicamente seletivamente os executáveis Homebrew que você deseja usar em vez das versões do Apple-embarcados, tais como Git.

@mrdavidjcole: fengd não respondeu a essa pergunta?
Fotinsky

Stack Overflow é um site para perguntas sobre programação e desenvolvimento. Esta questão parece estar fora de tópico, porque não se trata de programação ou desenvolvimento. Consulte Quais tópicos posso perguntar aqui na Central de Ajuda. Talvez o Superusuário ou o Apple Stack Exchange seja um lugar melhor para perguntar. Consulte também Onde postar perguntas sobre Dev Ops? .
JWW

Respostas:


299

abra seu arquivo / etc / caminhos, coloque / usr / local / bin em cima de / usr / bin

$ sudo vi /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

e reinicie o terminal , @mmel


9
Recarregue o ambiente ou inicie um novo terminal após fazer essa alteração.
mmell

4
Não concordo com isso - deve usar a resposta abaixo - máquina do tempo, etc.
22813 Ian Warner

Essa também é a melhor solução que encontrei se o seu problema é que o RVM e o Homebrew parecem competir pelo mesmo imóvel no seu arquivo .bash_profile.
MCB

Eu NÃO editaria / etc / caminhos; em vez disso, utilizar o .profile / métodos .bash_profile descrito noutro local (por exemplo, resposta por @avelis abaixo ou para uma abordagem mais paranóico, veja o primeiro comentário referenciar a resposta AristotlePagaltzis em SuperUser.
rholmes

1
Você pode tentar usar o editor de texto do nano terminal em vez de via. Eu achei isso mais fácil de usar. "sudo nano / etc / caminhos" em vez de "sudo vi / etc / caminhos".
tbradley22

78

Existem várias maneiras de atualizar seu caminho. Primeira resposta funciona muito bem. Outro método é aumentar o seu .bash_profilepara ter:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

A linha acima coloca /usr/local/bine /usr/local/sbinna sua frente $PATH. Depois de adquirir o seu .bash_profileou iniciar um novo terminal, você pode verificar seu caminho fazendo eco nele.

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/Users/<your account>/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Uma vez satisfeito com o resultado em execução $ brew doctornovamente, não deverá mais produzir seu erro.

Esta postagem do blog me ajudou a resolver os problemas que encontrei. http://moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/


2
@JanuszChudzynski Para a solução de 1º de junho, pode ser que você precise reiniciar a sessão da linha de comando para ver a alteração.
Avelis 29/10

Versões recentes do homebrew day: considere configurar seu PATH para que / usr / local / bin ocorra antes de / usr / bin. Aqui é um one-liner:echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile . O que é basicamente o que essa resposta sugere.
Nacho4d

No entanto, duvido que seja o caminho certo. Veja abaixo: Antes da mudança: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binchange: echo export PATH="/usr/local/bin:$PATH >> ~/.bash_profileAfter change: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin Isso significa que, se um comando não for encontrado em / usr / local / bin, ele poderá ser pesquisado duas vezes antes de ser encontrado em outro caminho. Eu acho que é melhor mudar o /etc/pathsarquivo
nacho4d

$ echo 'export PATH = "/ usr / local / bin: $ PATH"' >> ~ / .bash_profile fornece-me $ PATH "'>> ~ / .bash_profile -bash: $: comando não encontrado
Mamba

@ rpeg Tenho certeza que se você pesquisar na web por tutoriais, há uma abundância de recursos, mas aqui está um que eu conheço. linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
avelis

20

Basta executar a seguinte linha no seu aplicativo de terminal favorito:

echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

Reinicie seu terminal e execute

brew doctor

o problema deve ser resolvido


3
Se você estiver usando o zsh, use este comando echo 'export PATH = "/ usr / local / sbin: $ PATH"' >> ~ / .zshrc
kareem

1

abrir o perfil do bash no texto

open -e .bash_profile

Edite o arquivo ou cole na frente do PATH export PATH = / usr / bin: / usr / sbin: / bin: / sbin: / usr / local / bin: / usr / local / sbin: ~ / bin

salve e feche o arquivo

* Para abrir .bash_profile, abra diretamente textEdit> file> recent


0

Para evitar duplicação desnecessária, adicionei o seguinte ao meu ~ / .bash_profile

case ":$PATH:" in
  *:/usr/local/bin:*) ;;     # do nothing if $PATH already contains /usr/local/bin
  *) PATH=/usr/local/bin:$PATH ;;  # in every other case, add it to the front
esac

Crédito: https://superuser.com/a/580611

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.