如何配置npm在package.json中使用Windows风格的换行符?

20

我使用Windows系统,在npm修改我的package.json文件时,它会使用Unix风格的换行符(LF)进行写入。我想让它使用Windows风格的换行符(CRLF)。

是否有全局配置设置或命令行选项可以使npm使用正确的EOL字符?


2
我认为无法通过NPM配置或cli选项更改行尾。但是,如果您同时使用git,我建议通过git config core.autocrlf true打开自动转换。然后当您运行git add时,行尾会自动转换,不会导致额外的提交。 - Israfel
1个回答

14

更新:更简单的解决方法是使用npm@5.8.0或更新版本。

假设您正在使用Git,解决此问题最简单的方法是使用一个.gitattributes文件,指定package.json(以及现在的package-lock.json)始终使用LF:

# .gitattributes in project root
package.json text eol=lf
package-lock.json text eol=lf

太棒了。请注意,您还可以使用通配符:package*.json text eol=lf - emackey
2
我曾考虑使用通配符……但是如果一个项目包含一些以“package”开头并以“.json”结尾的其他文件呢?(过早优化很有趣。) - dahlbyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接