1

我安装了RailsInstaller并添加了,DevKit当 我执行时,我得到了:DevKit/mingwPATH
bundle install

ERROR: Failed to build gem native extension.

"C:/Program Files (x86)/RailsInstaller/Ruby1.9.3/bin/ruby.exe" extconf.rb
C:/Program Files (x86)/RailsInstaller/Ruby1.9.3/bin/ruby.exe: invalid switch in RUBYOPT: -F (RuntimeError)

OS : Windows 8 x64, Administrator Account

4

1 回答 1

4

不清楚您是否尝试在 RailsInstaller 之上混合使用 RubyInstaller,不建议这样做。

但是,失败的最常见原因仅仅是因为您将其安装在带有空格( Program Files (x86))的目录中

在安装过程中,RailsInstaller 设置推荐的默认安装到C:\RailsInstaller.

与此类似,RubyInstaller 强烈建议避免使用带有空格的安装路径(在安装屏幕中)

Ruby 和一些库的路径带有空格,这就是为什么推荐的安装目录是C:\Ruby193RubyInstaller 1.9.3

路径中的这些空格会影响 C 扩展等库的编译,并且在某些情况下会影响实际执行程序。

尽管社区一直在努力纠正这些问题,但直到 Ruby 2.0 才为 Ruby 本身解决了大多数这些问题。

RubyInstaller 故障排除页面中所述

特别注意安装目录和GEM PATH

如果您注意到这些目录包含空格,可能是因为您将 Ruby 安装在带有空格的文件夹中(强烈不推荐),或者因为系统中的另一个环境变量正在干扰。带有空格的目录通常会导致 DevKit 的 GCC 编译器出现问题。

现在,在错误的回溯中:

C:/Program Files (x86)/RailsInstaller/Ruby1.9.3/bin/ruby.exe: invalid switch in RUBYOPT: -F (RuntimeError)

它表明其他东西正在干扰RUBYOPT环境变量。

我建议您卸载这些修改并:

然后再试一次。

如果您不想手动处理所有组件的安装,也许您应该为 RailsInstaller 尝试相同的(使用默认值的全新安装)。

请注意,RailsInstaller已经包含 DevKit,因此无需单独安装。

最后但并非最不重要的一点是,如果您下载单独的 DevKit,请为您安装的 Ruby 版本使用正确的版本。RubyInstaller 下载页面中提到了这一点:

在此页面下方,列出了几个不同版本的开发工具包 (DevKit)。请为您的 Ruby 版本下载正确的版本:

Ruby 1.8.6 to 1.9.3: tdm-32-4.5.2
Ruby 2.0.0: mingw64-32-4.7.2
Ruby 2.0.0 x64 (64bits): mingw64-64-4.7.2

希望有帮助。

于 2013-04-28T16:33:25.137 回答