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
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 isingPATH
é 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 quandosource ~/.bash_profile
mais de uma vez. Talvez uma explicação do que cada parte faz seja útil.
echo $PATH
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