在Windows中通过Cygwin安装RVM时出错

时间:2013-03-20 22:20:50

标签: ruby-on-rails windows cygwin rvm

我正在尝试在this tutorial之后通过Cygwin安装RVM。

在创建目录并克隆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 个答案:

答案 0 :(得分:2)

修改

问题是一些Cygwin git安装尝试进行魔术换行处理。要修复git以便它停止修改行结尾,请运行:

git config --global core.autocrlf false

在澄清澄清后,原始答案更加通用:

该文件包含CRLF(\r\n)终结行序列,这在Windows上是典型的。但是Unix并不喜欢它; Unix(和Cygwin)只想要LF(\n)。我猜你剪切并粘贴了该文件,或通过附加Windows行结尾的某种机制下载它。

修复Cygwin中的文件:

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

检查并确保filename.tmp看起来没问题,然后:

mv -f filename.tmp

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

在上述所有情况中,您可能没有可执行文件(只是可读)。您可以使用以下命令使其可执行:

chmod 755 filename

或者明确地通过shell运行它:

sh filename

如果使用Windows编辑器操作Cygwin文件,则会经常遇到此问题。 Cygwin里面的编辑很好(例如Vim)。可选地,许多免费的Windows编辑器支持Unix行结尾。 Notepad++是一个很好的Unix行结束选项。