Não estou certo de como adicionar caminhos permanentes ao env PATH var. Encontrei várias perguntas para isso a cada vez com respostas diferentes. Eu criei um .bash_profile em meu diretório inicial, mas cada vez que reinicializo, tenho que meus caminhos novamente manualmente.

source ~/.bash_profile nem mesmo funciona.

O que estou perdendo?

Este é atualmente o meu .bash_profile

export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" 

Comentários

  • O que você quer dizer com " source ~ / .bash_profile não ' nem funciona "? Você obteve uma mensagem de erro?
  • Saia do Terminal e reabra-o … qual ' é o resultado de: echo $PATH
  • @ user3439894 sim, que ' é estranho, na verdade os caminhos estão todos aqui, a primeira linha excluída (a do python)
  • Eu esperava que você postasse o resultado de echo $PATH para que eu pudesse ver explicita e especificamente qual foi o resultado. Desculpe, mas não posso ' ajudar se não recebi as informações que solicito!
  • /Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Resposta

O que você definiu é a maneira correta de adicionar diretórios adicionais ao seu usuário “s $PATH.

Etapa 1 – ~/.bash_profile

Para começar a fazer edições em ~/.bash_profile adicionando os locais que você “d gostaria de ter alterado seu $PATH.

export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 

Etapa 2 – fonte ~/.bash_profile

Depois de fazer as edições acima neste arquivo, você pode usar o comando source ou o . notação para “recarregar” e alterações feitas neste arquivo no contexto do shell atual.

$ . ~/.bash_profile 

-ou-

$ source ~/.bash_profile 

Etapa 3 – Avalie as alterações

Depois de fazer as edições e gerenciá-las, você pode confirmar que tiveram o efeito desejado, repetindo o conteúdo do varible.

$ echo $PATH | tr ":" "\n" /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Wireshark.app/Contents/MacOS /usr/local/sbin /Users/smingolelli/bin /usr/local/opt/go/libexec/bin /Applications/Visual Studio Code.app/Contents/Resources/app/bin /Users/smingolelli/projects/kubebuilder/kubebuilder_1.0.5_darwin_amd64/bin/ 

A ordem é importante, então os diretórios que ocorrem primeiro serão pesquisados primeiro. Se um binário residir em vários lugares, o primeiro lugar encontrado será aquele que é usado.

Também tenha em mente que várias origens desse arquivo terão um efeito negativo de continuar a adicionar as mesmas alterações, portanto, é frequente você querer ver completamente o $PATH em um estado inicial conhecido consistente e, em seguida, corrigi-lo com estes tipos de comandos:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH" 

Usando path_helper

macOS também inclui um auxiliar para auxiliar no gerenciamento de seu $PATH. Ele “está localizado aqui /usr/libexec/path_helper.

Então, em vez de criar manualmente sua base $PATH como mencionado acima, você pode use este snippet para obter um bom ponto de partida conhecido para seu $PATH.

[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) 

Isso terá o cuidado de inicializar $PATH para que quaisquer diretórios listados em /etc/paths e /etc/paths.d/ sejam adicionados automaticamente.

Comentários

  • Pode ser melhor usar [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) para inicializar o caminho para qualquer diretório listado em /etc/paths e /etc/paths.d/ são adicionados automaticamente.
  • @nohillside faz sentido. Eu não ' t ciente de que o macOS tinha esse auxiliar, obrigado, ' adicionarei a A ' er.
  • uma olhada em /etc/profile. ' não está acontecendo muito lá, mas o inicial ising PATH é parte disso.
  • Apenas uma cabeça ' para cima, meu ~./bash_profile apenas direciona para ~/.bashrc que é o arquivo real que eu tive que modificar.
  • @slm [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) remover a segunda parte me dá o mesmo resultado que usar apenas a primeira parte quando source ~/.bash_profile mais de uma vez. Talvez uma explicação do que cada parte faz seja útil.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *