$ PATH a variável não é lida

0

Eu tentei instalar o MacPorts. Eu adicionei a seguinte linha ao meu .zshrc :

export PATH=/opt/local/bin/port:$PATH

quando eu digito o comando port eu recebo isto:

sudo: port: command not found

Mas quando tento usar o MacPorts chamando-o diretamente do arquivo, ele funciona:

$ /opt/local/bin/port
MacPorts 2.3.4
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/tom] > 

Quando digito este comando echo $PATH , é o que recebo:

/opt/local/bin/port:/usr/local/mysql/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

O que há de errado em como resolver esse problema?

Obrigado antecipadamente.

P.S .: Eu tive o mesmo problema quando tentei instalar o git com o Homebrew. Ele só funciona quando eu escrevo o caminho inteiro ( /usr/local/Cellar/git/2.9.3/bin/git ) caso contrário, apesar de tentar definir a variável $ PATH corretamente, ele usa uma versão mais antiga do git (que já estava instalada no meu computador).

    
por tomfl 16.08.2016 / 02:05

1 resposta

1

Você precisa adicionar um 'caminho' à variável PATH, não um arquivo. Em outras palavras, você precisa adicionar o caminho ao diretório que contém o executável, não o caminho para o executável. Então, ao invés de:

export PATH=/opt/local/bin/port:$PATH

faça isso:

export PATH=/opt/local/bin/:$PATH

Depois de ter modificado o arquivo .zshrc, você precisa recarregar o arquivo fazendo o sourcing ou abrindo um novo shell para que a configuração tenha efeito.

Em uma nota lateral, o zsh tem uma sintaxe alternativa para anexar variáveis ambientais. Em vez da afirmação acima, você pode fazer:

export PATH+=('/opt/local/bin/')

Para ajudar a depurar o problema, você pode modificar o PATH e outras variáveis ambientais diretamente na linha de comando apenas para confirmar que você tem a sintaxe / caminho correta; essas configurações não persistem e só se aplicam ao shell atual. Depois de ter a sintaxe trabalhada corretamente, você pode adicioná-las ao arquivo .zshrc.

    
por 16.08.2016 / 03:31