我正在使用Vagrant,Chef solo和berkshelf在Windows 7上使用VirtualBox运行Linux VM。
Cookbook从git下载并以windows行结尾到达。其中一个是Perl脚本,然后上传到vm并执行。但它失败了,因为第一行是
#!/usr/bin/perl
并且Linux VM将此视为命令
#!/usr/bin/perl^M
如何配置以Unix格式下载.pl文件的工具(可能是Chef?)?
答案 0 :(得分:1)
嗯,现在用配置设置来解决问题似乎为时已晚
git
使用的算法如下:
控制是否应用此逻辑的设置称为core.autocrlf
因此,为了最终解决问题,您应该准备好您的存储库,以便跨平台",即在所有(必要的)提交中重新索引文件,以便将它们作为&#放入索引中34;转换后的文本文件"。它是一个公共存储库,其中现有的提交不应该被修改?如何解决问题的方法取决于"宣传"。
你需要决定什么对你更重要:
这两种方法都是recipe。
答案 1 :(得分:0)
由于我无法更改cookbook存储库,我所做的就是在本地克隆它,然后添加包含以下行的文件.gitattributes
:
*.pl text eol=lf
解决了这个问题。