我正在尝试从here安装YouCompleteMe。
执行时:
./install.sh --clang-completer
我收到此错误:
env: bash\r: No such file or directory
我不知道环境变量有什么问题。这是我的bash路径:
which bash
/bin/bash
我需要将其更改为/ usr / bash吗?如果是,那我该怎么做?我尝试更改〜/ .bashrc文件,但它没有用。
答案 0 :(得分:77)
错误消息表明您正在调用的脚本嵌入了\r
个字符,这反过来表明它具有 Windows风格的\r\n
行结尾而不是\n
- 只有行结尾bash
期望。
作为快速修复,您可以删除\r
字符。如下:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
然后运行
./install.Unix.sh --clang-completer
然而,更大的问题是为什么你最终得到\r\n
式文件 - 最有可能的是,其他文件也会受到影响。
也许你正在Windows上运行 Git ,其中典型配置是将Unix风格的\n
- 只有换行符转换为Windows风格{{1 检出文件并重新转换为\r\n
的换行符 - 提交 时只有换行符。
虽然对Windows上的开发 有意义,但阻碍了安装方案这样的方式
要让Git在Windows上签出带有Unix风格文件结尾的文件 - 至少暂时 - 使用:
\n
然后再次运行涉及git config --global core.autocrlf false
的安装命令。
要稍后恢复Git的行为,请运行git clone
。
答案 1 :(得分:10)
您的文件有Windows行结尾。更改为Unix行结尾。
答案 2 :(得分:8)
>vim gradlew
:set fileformat=unix
:wq
>./gradlew clean build
答案 3 :(得分:7)
变成类似的东西。您可以使用dos2unix install.sh
转换行结尾。通过find [pattern] | xargs dos2unix
答案 4 :(得分:5)
就我而言,我的git配置错误。 git文档指出:
如果您在Windows上进行编程并且与非 (反之亦然),您可能会在某些情况下遇到行尾问题 点
我正在使用Mac OS,而我的一个项目中确实有这个问题。为了解决这个问题,我将autocrlf
更改为true
,这是错误的。
您可以像这样检查git配置的autocrlf
状态:
git config core.autocrlf
因此,如果返回true
并且问题在git存储库中发生,则必须将该配置更改为
git config --global core.autocrlf input
在Mac / Unix系统上。对于仅Windows项目,您可以使用
git config --global core.autocrlf false
在我的情况下,我删除了git存储库并再次克隆了它,然后一切又按预期工作了。
进一步了解https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
答案 5 :(得分:5)
正如上面的评论所说,它是由于Windows行尾而发生的。要解决此问题,请按照以下步骤操作
对于MAC:
brew install dos2unix # Installs dos2unix Mac
find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
对于Linux:
sudo apt-get install -y dos2unix # Installs dos2unix Linux
sudo find . -type f -exec dos2unix {} \; # recursively removes windows related stuff
并确保您的git配置设置如下:
git config --global core.autocrlf input
答案 6 :(得分:4)
用于转换行尾的快速命令:
dos2unix thescript.sh
答案 7 :(得分:2)
就我而言,我的git配置错误。 git文档指出:
如果您在Windows上进行编程并且与非 (反之亦然),您可能会在某些情况下遇到行尾问题 点
我正在使用Mac OS,而我的一个项目中确实有这个问题。为了解决这个问题,我将autocrlf
调整为true
。
您可以像这样检查git配置的autocrlf
状态:
git config core.autocrlf
因此,如果返回true
并且问题在git存储库中发生,则必须将该配置更改为
git config --global core.autocrlf input
这对于Mac / Unix系统是正确的。对于仅Windows项目,您可以使用
git config --global core.autocrlf false
就我而言,我删除了git存储库,然后再次将其检出,然后一切都按预期工作。
进一步了解https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
答案 8 :(得分:0)
就我而言: 当我下载WINDOWS版本并将其解压缩到MAC时出现此错误
然后将 windows 版本路径添加到 .bash_profile 或 .zprofile
所以我的解决方案是从(.bash_profile 和 .zprofile)中删除路径 然后打开终端下载mac版,输入:
pwd
/flutter/bin"答案 9 :(得分:0)
我曾经在尝试降级 flutter 时遇到过这个问题
这解决了我的问题
rm -rf flutter
git config --global core.autocrlf false
git clone git@github.com:flutter/flutter.git
flutter channel stable
答案 10 :(得分:-1)
此链接帮助我解决了问题。 https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/127
我编辑了.sh文件,将所有CRLF替换为LF