LF will be replaced by CRLF in package.json

最近遇到一个问题,当我在mac(npm 6)上面用git提交代码,领导用windows (npm 5) pull代码,在领导撸码的过程中并未修改package.json文件,但是提交的时候却要提交package.json和package-lock.json文件,像这样(图是网络上的):

LF will be replaced by CRLF in package.json_第1张图片

我想是不是每次编译器做了什么导致了这种结果,然后敲了diff命令

LF will be replaced by CRLF in package.json_第2张图片

这什么鬼没见过啊,明明什么都没有修改,为什么会出现这种情况。

百度 Google之后有这样的设置:

git config core.autocrlf false

亲测可行,但是团队有好多人,都这样设置实在太麻烦了,所以我就去了npm的github中的issues里面看看有没有同病相怜的问题,巧的是很真有https://github.com/npm/npm/issues/17161,其实上面的两张图就是从这里拿的,毕竟领导的电脑也不好让我截图拿来当素材233333,里面的方法是:

#在工程目录下添加 .gitattributes 文件,文件内容为:

package.json text eol=lf
package-lock.json text eol=lf

这样就基本解决了这个问题,不知道这是不是官方的bug,也不知道现在的版本还有没有问题,可能是npm5的坑,感觉npm5的坑真的不少,等我有时间查一下再来更新吧。

你可能感兴趣的:(经验之谈)