Desativando / usr / bin / svn para usar o svn instalado

Respostas:

14

Existe uma maneira melhor e mais segura de especificar qual versão de um executável você deseja que o seu computador use, sem ter que modificar os executáveis ​​que vieram pré-instalados no seu Mac. Geralmente, não é recomendado alterar suas ferramentas de sistema padrão de nenhuma maneira.

Você pode aproveitar o Variável de ambiente PATH , que permite listar vários diretórios que você deseja que o Mac pesquise ao procurar executáveis.

Para usar a última versão do svn, ou qualquer outra ferramenta que você tenha instalado /usr/local/bin com Homebrew (ou MacPorts, manualmente, etc), você quer dizer ao seu Mac para primeiro olhar em /usr/local/bin antes que olhe no padrão /usr/bin. Você faz isso definindo o PATH na tua .bash_profile, que é um arquivo que é carregado automaticamente toda vez que você abre uma nova janela do Terminal.

Você pode escrever o PATH para o seu .bash_profile executando este one-liner a partir do Terminal:

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

Este comando leva tudo entre aspas simples ( echo ) e adiciona (>>) para um arquivo chamado .bash_profile no diretório raiz (ou residencial) do seu usuário (~/).

Para que essas mudanças entrem em vigor, você pode sair e relançar o Terminal ou executar este comando:

source ~/.bash_profile

Se você quiser fazer tudo manualmente, abra o seu .bash_profile com o seu editor favorito, adicione esta linha a ele:

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

e salve-o. Em seguida, saia e reinicie o Terminal.

monfresh
fonte
Concordo; isso é melhor que a minha resposta. Eu editei minha resposta para mostrar essa preferência.
CajunLuke
Isso é persistente embora? Vai ficar após a reinicialização do sistema.
IgorGanapolsky
No meu PATH /usr/local/bin é antes /usr/bin e ainda recebo o último quando executo svn. Como isso é possível?
Marko Bonaci
5

NOTA : a resposta do monfresh abaixo é melhor que a minha. Embora meu método funcione, não é recomendável renomear ou editar utilitários do sistema.

Quando eu precisei atualizar do SVN 1.6 para 1.7, eu instalei minha versão compilada (não usando Homebrew ou Macports, etc.) /usr/local/bin e renomeado todos os antigos executáveis ​​svn em /usr/bin para (executablename) -1.6.7.

Então agora which svn/usr/local/bin/svn e o velho /usr/bin/svn é /usr/bin/svn-1.6.17.

CajunLuke
fonte
Renomeando arquivos em /usr/bin apenas para tirá-los do caminho, você abre as atualizações para restaurá-los ou quebra de programas que dependem deles. Por que não basta colocar /usr/local/bin primeiro no seu PATH?
zigg