我正在尝试从这里安装YouCompleteMe。
当我执行时:
./install.sh --clang-completer
我得到这个错误:
env: bash\r: No such file or directory
不知道环境变量有什么问题。这是我的 bash 路径:
which bash
/bin/bash
需要改成
/usr/bash
吗?如果是,那我该怎么做?我尝试更改~/.bashrc
文件,但没有用。
错误消息表明 您正在调用的脚本嵌入了
\r
字符,这反过来表明它具有 Windows 风格 \r\n
行结尾 而不是 \n
-only 行结尾 bash
期待。
作为 quick fix,您可以删除
\r
字符。如下:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
注意:
$'...'
字符串是一个 ANSI-C 引用字符串,支持 bash
、ksh
和 zsh
。它用于确保 \r
在 sed
看到脚本之前扩展为实际的 CR 字符,因为并非所有 sed
实现本身都支持 \r
作为转义序列。
然后运行
./install.Unix.sh --clang-completer
然而,更大的问题是为什么你最终得到了
\r\n
风格的文件——很可能其他文件也受到了影响。
也许你在 Windows 上运行 Git,其中 典型的配置是将 Unix 风格的
\n
-only 换行符转换为 Windows 风格的\r\n
换行符checking files 并重新转换为\n
-仅在提交时换行.
虽然这 对于 Windows 上的 development 有意义,但它 妨碍了像这样的 installation 场景。
要 让 Git 在 Windows 上检出具有 Unix 风格文件结尾的文件 - 至少暂时 - 使用:
git config --global core.autocrlf false
然后再次运行涉及
git clone
的安装命令。
稍后要恢复 Git 的行为,请运行
git config --global core.autocrlf true
.
>vim gradlew
:set fileformat=unix
:wq
>./gradlew clean build
这是由于窗口行结束而发生的。要解决此问题,请按照以下步骤
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
input
确保在写入对象数据库时将 CRLF 转换为 LF
转换行尾的快捷命令:
dos2unix thescript.sh
您的文件有 Windows 行结尾。更改为 Unix 行结尾。
遇到类似的事情。您可以使用
dos2unix install.sh
转换行尾。多个文件通过find [pattern] | xargs dos2unix
就我而言,我的 git 配置有误。 git 文档指出:
如果您在 Windows 上编程并与非 Windows 的人一起工作 (反之亦然),您可能会在某些时候遇到行尾问题 点
我使用的是 Mac 操作系统,我在我的一个项目中确实遇到了这个问题。为了解决这个问题,我把
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
了解更多信息我之前尝试降级flutter的时候也遇到过这个问题
这解决了我的问题
rm -rf flutter
git config --global core.autocrlf false
git clone [email protected]:flutter/flutter.git
flutter channel stable
此链接帮助我解决了问题。 https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/127
我编辑了我的 .sh 文件,将所有 CRLF 替换为 LF
就我而言: 我下载WINDOWS版解压到MAC就出现这个错误
然后将windows版本路径添加到.bash_profile或.zprofile
所以我的解决方案是从 (.bash_profile 和 .zprofile) 中删除路径 然后通过打开终端并输入以下内容来下载 mac 版本:
pwd
/flutter/bin"