Featured image of post Linux 环境下 LF/CRLF 问题

Linux 环境下 LF/CRLF 问题

问题

在 WSL 等环境使用 VSCode 编辑 .env 等配置文件后,python 等代码读取时报错,无法正常读入配置文件。

原因

不同操作系统下 文本文件换行符格式不同

系统换行符字符表示ASCII
WindowsCRLF\r\n回车 + 换行
Linux / macOSLF\n换行
老式 Mac(已淘汰)CR\r回车

WSL 下用 VSCode 打开文件编辑时,可能还是使用的 Windows 的 CRLF,Linux 下程序读取报错。

解决

.gitattributes 强制使用 LF(通常推荐)

1
2
# 在 .gitattributes 写
* text=auto eol=lf

VSCode 手动切换

打开目标文件后,手动在 VSCode 优先级更改 换行符格式

VSCode_LF

潇洒人间一键仙
使用 Hugo 构建
主题 StackJimmy 设计