Variável $ PATH não é lida

0

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

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

então quando eu digitar o port comando eu recebo isso:

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 eu digito este comando echo $PATH é isso que eu 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?

Agradeço antecipadamente.

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

tomfl
fonte

Respostas:

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, zsh tem um bom 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á-los ao arquivo .zshrc.

Argonauts
fonte