2013-03-20 65 views
1

安装RVM我试图通过Cygwin来安装RVM,以下this tutorial错误通过Cygwin的在Windows

后创建目录和克隆Git仓库,我需要运行./osx_or_cygin_kick_off开始安装过程。

这是错误消息我得到:

$ ./osx_or_cygwin_kick_off 
    ./automation/rvm/rvm_install: line 2: $'\r': command not found 
    ./automation/rvm/rvm_install: line 3: syntax error near unexpected token `$'\r'' 
    '/automation/rvm/rvm_install: line 3: `install_rvm() 
    ./automation/rvm/rvm_install_some_rubies: line 2: $'\r': command not found 
    ./automation/rvm/rvm_install_some_rubies: line 3: syntax error near unexpected token `$'\r'' 
    '/automation/rvm/rvm_install_some_rubies: line 3: `install_some_rubies() 

我读的地方,通过doc2unix的文件转换为UNIX格式可能会解决这个问题,但它只创造更多的错误消息。

有什么建议吗?

+1

我猜你的意思是通过'dos2unix'运行,这是解决问题的方法,但由于您遇到麻烦,请尝试下面的答案我的备选方案之一。 – 2013-03-20 23:02:40

回答

2

编辑:

的问题是,一些Cygwin的混帐安装尝试做魔换行处理。要解决混帐所以停止压延行结束,运行:

该文件包含CRLF(\r\n)行尾序列,这是典型的:

git config --global core.autocrlf false 

原来的答复意见澄清后作出更通用视窗。虽然Unix不喜欢它; Unix(和Cygwin)只需要LF(\n)。我猜你会剪切粘贴该文件,或者通过一些附加Windows行结尾的机制下载它。

要在Cygwin的修复文件:

tr -d '\r' <filename >filename.tmp 

检查并确保filename.tmp看起来正常,则:

mv -f filename.tmp 

或者,做一个浏览器下载并保存(而不是剪切和粘贴),或从Cygwin shell下载,使用curlwget下载。

在上述所有情况下,你可能不会有一个可执行文件(只可读取)。您可以使其可执行文件:

chmod 755 filename 

或者通过shell明确运行它:

sh filename 

,如果你使用的是Windows编辑器来操作你的Cygwin的文件,你会碰到这个问题经常。 Cygwin中的编辑会很好(例如Vim)。或者,许多免费的Windows编辑器都支持Unix行结尾。 Notepad++是一个很好的与Unix行结束选项。

+0

我是否还需要为automation/rvm文件夹中的所有文件执行相同的过程? – agassi0430 2013-03-20 23:11:16

+0

这取决于你如何下载它们。如果你以同样的方式做了,那么很可能是。如果可能的话,您可能希望从Cygwin开始全新开始并确保完成所有操作,或者想出如何一次以二进制格式下载全部内容。 – 2013-03-20 23:15:04

+0

我从Cygwin shell直接使用git clone获得版本库。我没有打开任何文件,除了notepad ++(甚至没有做任何修改) – agassi0430 2013-03-20 23:15:13