I'm trying to install YouCompleteMe from here.
When I execute:
./install.sh --clang-completer
I get this error:
env: bash\r: No such file or directory
I don't know whats wrong with environment variables. Here's my bash path:
which bash
/bin/bash
Do I need to change it to /usr/bash? If yes, then how should I do that? I tried changing ~/.bashrc file, but it didn't work.
The error message suggests that the script you're invoking has embedded
\r
characters, which in turn suggests that it has Windows-style\r\n
line endings instead of the\n
-only line endingsbash
expects.As a quick fix, you can remove the
\r
chars. as follows:and then run
However, the larger question is why you've ended up with
\r\n
-style files - most likely, other files are affected, too.Perhaps you're running Git on Windows, where a typical configuration is to convert Unix-style
\n
-only line breaks to Windows-style\r\n
line breaks on checking files out and re-converting to\n
-only line breaks on committing.While this makes sense for development on Windows, it gets in the way of installation scenarios like these.
To make Git check out files with Unix-style file endings on Windows - at least temporarily - use:
Then run your installation commands involving
git clone
again.To restore Git's behavior later, run
git config --global core.autocrlf true
.Ran into something similar. You can use
dos2unix install.sh
to convert the line endings. Multiple files viafind [pattern] | xargs dos2unix
Your file has Windows line endings. Change to Unix line endings.