0

我正在尝试运行 Ruby on Rails 并连接到 MS SQL DB。我已经安装了 RoR,并且我已经创建了我将要连接的数据库。我创建并测试模型,在尝试 $ rake db:migrate 时出现 rake aborted 错误(没有要加载的此类文件 -- tiny_tds)。此时我下载并解压缩了 FreeTDS。当我提交 $ ./configure 时,问题就出现了。

以下是命令和产生的错误消息(Windows 7 Pro OS 盒子上的 Cygwin 终端):

$ ./configure

./configure: line 31: syntax error near unexpected token `newline'

'/configure: line 31: `;;

这是来自 FreeTDS 配置文件的代码(第 19-33 行):

    if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh

  NULLCMD=:

  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which

  # is contrary to our usage.  Disable this feature.

  alias -g '${1+"$@"}'='"$@"'

  setopt NO_GLOB_SUBST

else

  case `(set -o) 2>/dev/null` in #(

  *posix*) :

    set -o posix ;; #(

  *) : 

    ;;

esac

fi
4

2 回答 2

0

错误消息中的这一行:

'/configure: line 31: `;;

在行的开头有'字符,因为它抱怨的令牌中实际上有一个返回字符:;;\r

configure脚本具有 Windows 样式的 CR-LF 行尾,shell 无法识别;它需要 Unix 风格的 LF 行结尾,并将 CR 视为普通字符,从而导致语法错误。

过滤configure脚本dos2unix用于将其转换为 Unix 样式的行尾。

请务必先阅读dos2unix手册页;与大多数文本过滤器不同,它默认覆盖其输入文件。

于 2012-07-25T21:05:17.013 回答
0

解决了!!最初,我使用 Winzip 解压缩了 freetds 下载。在解决了上述问题后,我删除了下载。重新下载,然后使用 UNIX 命令解压缩。现在工作正常。

于 2012-07-26T14:03:31.013 回答