Quando uso o Git Bash (no Windows), não consigo executar nenhum executável sem especificar seu caminho completo, embora esteja localizado em uma pasta que está na minha variável PATH. Parece que o bash não o reconhece. Por quê? Posso consertar?
107
Respostas:
Entendi. Como usuário do Windows, estou acostumado a digitar nomes executáveis sem extensões. No meu caso, queria executar um arquivo chamado
cup.bat
. Em um shell do Windows, digitarcup
seria o suficiente. O Bash não funciona assim, ele quer o nome completo. Digitandocup.bat
resolveu o problema. (Eu não consegui executar o arquivo, já que aparentemente o bash não conseguia entender seu conteúdo)Mais um motivo para mudar para posh-git ..
Obrigado @Tom por me apontar a direção certa.
fonte
alias cup=cup.bat
.bat
; a extensão implica um script de lote do Windows - especialmente em uma máquina Windows.Talvez o bash não veja o caminho do Windows. Digite
env|grep PATH
bash para confirmar o caminho que ele vê.fonte
Seguindo o comentário de @Daniel e graças à resposta de @Tom, descobri que o Git bash estava realmente usando o PATH, mas não os caminhos mais recentes que instalei recentemente. Para contornar esse problema, adicionei um arquivo no meu diretório inicial (windows) chamado:
.bashrc
e o conteúdo como segue:
PATH=$PATH:/c/Go/bin
porque eu estava instalando o Go e este caminho continha o executável
go.exe
Now Git bash foi capaz de reconhecer o comando:go
Talvez apenas uma reinicialização do sistema fosse suficiente no meu caso, mas estou feliz que esta solução funcione em qualquer caso.
fonte
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
esse é o meu diretório inicialEnquanto você está instalando o Git, você pode selecionar a opção mostrada abaixo, ela o ajudará a definir o caminho automaticamente.
Funcionou para mim :)
fonte
Crie um arquivo em C: \ Users \ USERNAME chamado config.bashrc, contendo:
Agora mova o arquivo na linha de comando para o local correto:
fonte
Reinicie o computador depois de adicionar um novo valor a PATH.
fonte
Pergunta antiga, mas pode ajudar outra pessoa.
Eu mudei meu usuário PATH, depois disso, acabei de fazer logoff e login novamente.
É isso!
git bash
carregou o novo valor PATH corretamente.fonte
export PATH=$NEW_PATH:$PATH
. E fazer as coisas normalmentePosso confirmar que reiniciar o sistema irá certificar-se de que o PATH definido na variável de ambiente no Windows é obtido pelo git e não há outra forma automática.
fonte
Parece que a causa raiz aqui é o Git Bash não ser capaz de sempre analisar a variável% USERPROFILE% corretamente. Em vez de torná-lo relativo a C: \ Usuários \\, ele obtém o valor C: \ Windows \ System 32 \ systemprofile \ Depois de alterar isso para um endereço totalmente qualificado, funciona e, mesmo se eu configurá-lo novamente depois, Git Bash ainda tem o PATH correto por algum motivo.
fonte
No Windows 10, apenas desinstale o git e instale-o novamente. Ele definirá a variável de ambiente automaticamente para você. Eu havia removido a variável de ambiente por engano e não conseguia usar o git dentro do meu IDE. A reinstalação do git corrigiu esse problema.
fonte
No caso do seu
git-bash
'sPATH
presentes, mas não mais recente e você não quer que um reboot, mas regenerar seusPATH
s, você pode tentar fechar tudocmd.exe
,powershell.exe
egit-bash.exe
e reabrir uma janela cmd.exe a partir do Menu Iniciar ou Desktop e ver se oPATH
env é atualizado . Se você mudou em todo o sistemaPATH
também precisa abrir uma janela cmd privilegiada.Nota: Isso não funciona com todas as versões do Windows e abrir em
cmd.exe
qualquer lugar diferente do Menu Iniciar ou Desktop pode não funcionar , testado com meus 3 computadores e 2 deles funciona. Não descobri por que isso funciona, mas como aPATH
variável de ambiente é gerada automaticamente quando eu faço o login e logout, não devo bagunçar essa variável com a concatenação de variável.fonte
Para mim, o mais conveniente era: 1) Criar o diretório "bin" na raiz da unidade C: 2) Adicionar "C: / bin;" para PATH em "Meu Computador -> Propriedades -> Variáveis de Ambiente"
fonte
Eu encontro esse problema quando tento usar o mingw para compilar o lib xgboost no Win10. Finalmente encontrei a solução.
Crie um arquivo chamado .bashrc em seu diretório inicial (geralmente C: \ Usuários \ nome de usuário). Em seguida, adicione o caminho a ele. Lembre-se de usar aspas se o seu caminho contiver espaço em branco e lembre-se de usar / c / em vez de C: /
Por exemplo:
PATH = $ PATH: "/ c / Arquivos de programas / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"
fonte
Eu cometi um erro estúpido da minha parte. Eu tinha um sistema amplo e um caminho de variável de usuário definido para meu espaço de trabalho golang na minha máquina Windows 10. Quando removi o caminho da variável de sistemas redundantes e fiz logoff e logon novamente, consegui chamar os arquivos .exe no bash e chamar go env com sucesso.
Embora o OP tenha sido respondido, este é outro problema que pode impedir o bash de ver seus caminhos. Acabei de testar o bash novamente com esse problema e parece que há algum tipo de conflito que impede o bash de seguir qualquer um dos caminhos.
fonte
Eu sei que é uma questão antiga, mas existem dois tipos de variáveis de ambiente. Aquele pertencente ao usuário e o único sistema. Dependendo de como você abre o git bash (com privilégio de usuário ou com privilégio de administrador), a variável de ambiente PATH usada pode ser de suas variáveis de usuário ou de variáveis de sistema. Ver abaixo:
como dito na resposta anterior, verifique com o comando
env|grep PATH
para ver qual você está usando e atualize sua variável de acordo. BTW, não há necessidade de reiniciar o sistema. Basta fechar e reabrir o git bashfonte
No meu caso aconteceu durante a instalação do heroku cli e do git bash, aqui está o que eu fiz para funcionar.
chegou a este local
C:\Users\<username here>\AppData\Local
e exclua o arquivo na pasta heroku do meu caso. Então eu deleded pasta e executei cmd. Está funcionando
fonte
Não escape (\) caracteres especiais ao editar / adicionar à sua variável $ PATH. Por exemplo, um diretório de aplicativo em arquivos de programa seria assim:
PATH=$PATH:/c/Program Files (x86)/random/application
Não faça isso:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
Espero que isto ajude.
fonte
PATH=$PATH:/c/Program Files (x86)/random/application
... esta não é a sintaxe bash correta para definir o PATH. Isso adicionará temporariamente o diretório/c/Program
ao caminho e, em seguida, tentará executar o programaFiles
com argumentos(x86)/random/application
. A única coisa errada com o seu exemplo "não faça isso" é que ele tem barras invertidas duplas para os colchetes, quando barras invertidas simples estão corretas.Para aqueles que já experimentaram todos os métodos mencionados acima, incluindo env do sistema Windows. variáveis, .bashrc, .bashprofile, etc. E posso ver o caminho correto em 'echo $ PATH' ... Posso ter uma solução para você.
suprimir os erros usando exec 2> / dev / null
Meu script funciona bem, mas exibia os erros 'command not found' ou 'No directory found', embora, pelo que eu saiba, os caminhos estejam liberados. Portanto, se você suprimir esses erros (talvez seja necessário adicionar 'set + e'), funcionará corretamente.
fonte
Crie uma variável de usuário chamada Path e adicione como valor% Path%, pelo que percebi que o Git Bash só vê variáveis de usuário e não variáveis de sistema. Ao fazer o procedimento mencionado, você exporá sua variável de sistema nas variáveis de usuário.
fonte
Nas variáveis de ambiente do caminho do Windows 7, acabei de adicionar no final do caminho da variável do sistema
\; C: \ Arquivos de programas \ Git \ bin
e funciona agora!
fonte