我正尝试从这里安装YouCompleteMe。
当我执行时:
./install.sh --clang-completer
我得到这个错误:
env: bash\r: No such file or directory
我不知道什么是错误的环境variables。 这是我的bashpath:
which bash /bin/bash
我需要将其更改为/ usr / bash吗? 如果是,那我该怎么做? 我尝试更改〜/ .bashrc文件,但它没有工作。
错误消息表明你正在调用的脚本已经嵌入了\r
字符 ,这反过来表明它具有Windows风格的\r\n
行结尾,而不是bash
期望的\n
单行结尾。
作为一个快速解决方案 ,您可以删除\r
字符。 如下:
sed $'s/\r$//' ./install.sh > ./install.Unix.sh
然后运行
./install.Unix.sh --clang-completer
然而,更大的问题是为什么你最终会遇到\r\n
style文件 – 很可能其他文件也受到影响。
也许你正在Windows上运行Git ,一个典型的配置是将Unix风格的\n
-only换行符转换为Windows风格的\r\n
换行符, 用于检出文件并重新转换为\n
– 只换行符在提交 。
虽然这对于 Windows 上的开发是有意义的 ,但它却阻碍了像这样的安装场景 。
为了让Git在Windows上检查具有Unix风格的文件结尾的文件 – 至少暂时 – 使用:
git config --global core.autocrlf false
然后再次运行涉及git clone
安装命令。
稍后恢复Git的行为,运行git config --global core.autocrlf true
。
您的文件具有Windows行结尾。 转到Unix行结尾。
跑到类似的东西。 您可以使用dos2unix install.sh
来转换行结束符。 多个文件通过find [pattern] | xargs dos2unix
find [pattern] | xargs dos2unix