Recentemente, adicionei um diretório ao PATH do Windows manualmente, indo ao Painel de Controle -> Sistema -> Configurações avançadas do sistema -> Variáveis de ambiente -> Variáveis de usuário -> PATH. (Windows 7, 64 bits.)
Após reiniciar e iniciar o cmd.exe, echo %PATH%
indica que funcionou: Vejo o diretório que adicionei recentemente na saída.
No entanto, após iniciar o Git Bash, a saída de echo $PATH
não inclui esse diretório.
Eu poderia adicionar export PATH=$PATH:/c/my/path
no meu bashrc, mas prefiro que o Git Bash obtenha o PATH no Windows, para que não me lembre de adicionar caminhos a dois lugares. Como pode ser isto alcançado?
(Uma pergunta relacionada mais geral é: o que configura o $ PATH do Git Bash? Vejo algumas entradas repetidas em lugares diferentes, algumas coisas que estão no Windows% PATH% estão no $ PATH do Git Bash, mas não outras. O que tudo acontece antes Recebo o prompt do Git Bash que toca em $ PATH?)
C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw\bin
.Respostas:
Uma sessão msysgit git bash usa o script
share/WinGit/Git Bash.vbs
, que não acessa ou modifica a variável de ambientePATH
(como faria neste script vbs não relacionado, por exemplo )Uma sessão do git bash simplesmente adiciona antes do seu atual
PATH
:É possível que a sessão mingw empacotada com o msysgit não considere uma
bin
instalação de outra mingw: você pode verificá-la definindo outro diretório (mais simples) para o seuPATH
e ver se ele ainda está visível na sua sessão do git bash. Caso contrário, é uma questão mais geral que diz respeito a todos os diretórios que você adicionaria ao PATH.fonte
"c:\Program Files\Java\jdk1.8.0_25"\bin
no caminho do Windows é convertido/c/Program Files/Java/jdk1.8.0_25"/bi
no caminho do bash do git (observe a falta do primeiro e do último caractere) ... então a pergunta é: como isso acontece?Aqui está minha pequena solução alternativa para um problema semelhante (MSYS2 bash no Windows 10).
A idéia é converter os caminhos necessários em caminhos no estilo Unix e anexá-los ao bash $ PATH, tudo feito em .bashrc.
Não anexe os caminhos necessários ao Win PATH. Em vez disso, crie uma nova var env no Windows, como MSYS2_WINPATH, e anexe todos os diretórios de caminho do Windows separados por ponto e vírgula a essa variável. Acrescente% MSYS2_WINPATH% a% PATH%.
Agora insira isso no seu .bashrc -
fonte
Se o valor PATH for muito longo após a concatenação da variável PATH do usuário na variável PATH do ambiente, o Windows silenciosamente falhará ao concatenar a variável PATH do usuário.
Isso pode acontecer facilmente após a instalação de um novo software e adiciona algo ao PATH, interrompendo o software instalado existente. Windows falhar!
A melhor solução é editar uma das variáveis PATH no Painel de Controle e remover as entradas desnecessárias. Em seguida, abra uma nova janela do CMD e veja se todas as entradas são mostradas em "echo% PATH%".
fonte
Tente mover o diretório para o início da sua variável de caminho. Eu tive o mesmo problema que você depois de instalar o p4merge. O diretório perforce foi adicionado ao caminho e o p4merge foi encontrado pelo cmd.exe, mas não pelo git shell (mingw). Após uma pesquisa infrutífera, tentei apenas editar a variável para que o diretório perforce aparecesse primeiro no meu caminho. Eu iniciei o git shell e, voila, o diretório está incluído na saída do
$ echo $path
e$ p4merge
abre o p4merge.Essa é uma resposta meio esfarrapada, já que eu não sei o porquê disso funcionar, mas se a solução alternativa ajudar outra pessoa, ótimo.
fonte