env: bash\r: No such file or directory
WindowsGitBashLine Endingscore.autocrlfWindows Problem Overview
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 what's 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.
Windows Solutions
Solution 1 - Windows
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 endings bash
expects.
As a quick fix, you can remove the \r
chars. as follows:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
Note: The $'...'
string is an ANSI-C quoted string supported in bash
, ksh
, and zsh
. It is used to ensure that the \r
expands to an actual CR character before sed
sees the script, because not all sed
implementations themselves support \r
as an escape sequence.
and then run
./install.Unix.sh --clang-completer
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:
git config --global core.autocrlf false
Then run your installation commands involving git clone
again.
To restore Git's behavior later, run git config --global core.autocrlf true
.
Solution 2 - Windows
>vim gradlew
:set fileformat=unix
:wq
>./gradlew clean build
Solution 3 - Windows
It is happening due to windows line endings. To fix the issue follow below steps
For MAC:
brew install dos2unix # Installs dos2unix Mac
find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
For Linux:
sudo apt-get install -y dos2unix # Installs dos2unix Linux
sudo find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
And make sure your git config is set as follows:
git config --global core.autocrlf input
input
makes sure to convert CRLF to LF when writing to the object database
Solution 4 - Windows
Your file has Windows line endings. Change to Unix line endings.
Solution 5 - Windows
Quick command for converting line ending:
dos2unix thescript.sh
Solution 6 - Windows
Ran into something similar. You can use dos2unix install.sh
to convert the line endings. Multiple files via find [pattern] | xargs dos2unix
Solution 7 - Windows
If you are on MAC, and using VS Code, you can switch from CRLF
to LF
and save the file again. This will replace all CRLF with LF.
Solution 8 - Windows
In my case I had a wrong git configuration. The git documentation states:
> If you’re programming on Windows and working with people who are not > (or vice-versa), you’ll probably run into line-ending issues at some > point
I'm using Mac OS and I exactly have this issue in one of my projects. To solve it I turned autocrlf
to true
which was wrong.
You can check the autocrlf
state of your git configuration like this:
git config core.autocrlf
So if this returns true
and the problem occurs within a git repository you'll have to change that configuration to
git config --global core.autocrlf input
on a Mac / Unix system. For Windows only projects you can use
git config --global core.autocrlf false
In my case I deleted the git repository and cloned it again and after that everything worked again as expected.
Find out more at https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Solution 9 - Windows
This link helped me solving the issue. https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/127
I edited my .sh file, replacing all CRLF with LF
Solution 10 - Windows
In my case: This error occurs when I downloaded and unzip the WINDOWS version into MAC
and then added the windows version path to .bash_profile or .zprofile
so the solution for me was to remove the paths from (.bash_profile and .zprofile) then download the mac version by opening the terminal and type:
- mkdir src
- cd src
- git clone https://github.com/flutter/flutter.git -b stable
- export PATH="$PATH:
pwd
/flutter/bin" - flutter doctor
Solution 11 - Windows
I used to have this problem when I tried to downgrade flutter
this solved my issue
rm -rf flutter
git config --global core.autocrlf false
git clone [email protected]:flutter/flutter.git
flutter channel stable