Estou tentando instalar o YouCompleteMe a partir daqui .
Quando eu executo:
./install.sh --clang-completer
Eu recebo este erro:
env: bash\r: No such file or directory
Não sei o que há de errado com as variáveis de ambiente. Este é o meu caminho bash:
which bash
/bin/bash
Eu preciso mudar para /usr/bash
? Se sim, como devo fazer isso? Tentei alterar o ~/.bashrc
arquivo, mas não funcionou.
windows
git
bash
line-endings
core.autocrlf
Brijesh Rakholia
fonte
fonte
Respostas:
A mensagem de erro sugere que o script que você está chamando possui
\r
caracteres incorporados , o que, por sua vez, sugere que ele possui terminações de linha no estilo do Windows, em\r\n
vez das\n
terminaçõesbash
esperadas apenas de linha .Como uma solução rápida , você pode remover os
\r
caracteres. do seguinte modo:sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Nota: A
$'...'
cadeia é um ANSI-C string suportado embash
,ksh
ezsh
. É usado para garantir que a\r
expansão para um caractere CR real antes desed
ver o script, porque nem todas assed
implementações oferecem suporte\r
como uma sequência de escape.e então correr
No entanto, a grande questão é por que você acabou com
\r\n
arquivos -style - provavelmente, outros arquivos também foram afetados.Talvez você esteja executando o Git no Windows , onde uma configuração típica é converter
\n
quebras de linha somente no estilo Unix em quebras de\r\n
linha no estilo Windows ao fazer check-out de arquivos e reconvertê-\n
los em quebras de linha somente na confirmação .Embora isso faça sentido para o desenvolvimento no Windows, atrapalha cenários de instalação como esses.
Para fazer o Git retirar arquivos com terminações de arquivo no estilo Unix no Windows - pelo menos temporariamente - use:
git config --global core.autocrlf false
Em seguida, execute os comandos de instalação envolvendo
git clone
novamente.Para restaurar o comportamento do Git mais tarde, execute
git config --global core.autocrlf true
.fonte
>vim gradlew :set fileformat=unix :wq >./gradlew clean build
fonte
Seu arquivo tem terminações de linha do Windows. Mude para terminações de linha Unix.
fonte
Encontrei algo semelhante. Você pode usar
dos2unix install.sh
para converter os finais de linha. Vários arquivos viafind [pattern] | xargs dos2unix
fonte
find . -type f -exec dos2unix {} \;
Comando rápido para converter o final da linha:
fonte
Como dizem os comentários acima, isso está acontecendo devido ao fim das linhas do Windows. Para corrigir o problema, siga estas etapas
Para MAC:
brew install dos2unix # Installs dos2unix Mac find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
Para Linux:
sudo apt-get install -y dos2unix # Installs dos2unix Linux sudo find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
E certifique-se de que sua configuração git esteja definida da seguinte maneira:
fonte
No meu caso, eu tinha uma configuração git errada. A documentação do git afirma:
Estou usando o Mac OS e tenho exatamente esse problema em um dos meus projetos. Para resolvê-lo eu me virei
autocrlf
paratrue
o que era errado.Você pode verificar o
autocrlf
estado de sua configuração git assim:Então, se isso retornar
true
e o problema ocorrer dentro de um repositório git, você terá que alterar essa configuração paraem um sistema Mac / Unix. Apenas para projetos do Windows que você pode usar
git config --global core.autocrlf false
No meu caso, apaguei o repositório git e o clonei novamente e depois disso tudo funcionou como esperado.
Saiba mais em https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
fonte
No meu caso, eu tinha uma configuração git errada. A documentação do git afirma:
Estou usando o Mac OS e tenho exatamente esse problema em um dos meus projetos. Para resolvê-lo eu atento
autocrlf
paratrue
.Você pode verificar o
autocrlf
estado de sua configuração git assim:Então, se isso retornar
true
e o problema ocorrer dentro de um repositório git, você terá que alterar essa configuração paraqual é o correto para sistemas Mac / Unix. Apenas para projetos do Windows que você pode usar
git config --global core.autocrlf false
No meu caso, apaguei o repositório git e verifiquei novamente e depois disso tudo funcionou como esperado.
Saiba mais em https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
fonte
Este link me ajudou a resolver o problema. https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/127
Eu editei meu arquivo .sh, substituindo todo o CRLF por LF
fonte