谁想到是git默认配置引发的项目编译失败

        经常学习开源项目,也会尝试下载、编译,谁能想到竟因为git的一项默认配置翻车了。

目录

1、编译nginx源码失败

2、git 常用配置项

2.1、通过git命令行设置

2.1、通过git图形界面设置

3、实践总结


运行环境:

1、编译nginx源码失败

        在Linux环境下,编译C语言开发的软件,是件非常简单的事情。但今天因先在Windows系统下使用 git clone 仓库源码到本地,再将源码上传到 CenOS-7.9 并编译源码(给Nginx新增一个组件),结果“翻车了”!

编译日志摘要:

configuring additional modules
adding module in /opt/download/nginx-fancyindex-src
/opt/download/nginx-fancyindex-src/config: line 3: $'\r': command not found
/opt/download/nginx-fancyindex-src/config: line 21: syntax error: unexpected end of file
 was configuredcyindex_module

原因分析:Linux Shell脚本中使用了Windows文档格式 回车换行符,导致编译失败。

 

2、git 常用配置项

        Git支持根据参数设置,在提交源码到(本地/远程)仓库时,自动地把行结束符 CRLF(回车换行 \r\n) 转换成 LF(换行 \n),而在签出代码时把 LF(换行 \n) 转换成 CRLF(回车换行 \r\n)。而Windows系统默认的文档格式,以 CRLF(回车换行 \r\n) 作为一行的结束符。

2.1、通过git命令行设置

在Windows桌面,空白处 右击 选择菜单 Git Bash Here,根据需要输入以下代码:

# 在Windows平台,设置true,即 启用 LF(换行) 自动转换为 CRLF(回车换行)
git config --global core.autocrlf true

# 在Linux/Mac平台,设置false,即 禁用 LF(换行) 自动转换为 CRLF(回车换行)
git config --global core.autocrlf false

2.1、通过git图形界面设置

        在gitconfig文件中,找到 [core] 段 将 autocrlf 项的默认值由 true 改为 false,并保存。下次在使用git clone的源码将保持原仓库中文档格式设置。

3、实践总结

  • 了解不同平台的编码习惯;
  • 了解常用工具的常用属性,并熟悉它们如何配置;
  • 没事的时候,多看看软件官方帮助文档

附录: 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂龙骄子

独码乐,不如众码乐,乐享其中

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值