我安装了 RailsInstaller ,并将DevKit
和DevKit/mingw
添加到了PATH
当我执行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
答案 0 :(得分:4)
目前尚不清楚您是否尝试在RailsInstaller之上混合使用RubyInstaller,这是不推荐的。
但是,失败的最常见原因仅仅是因为您将其安装在带有空格的目录中(Program Files (x86)
)
在安装过程中,RailsInstaller会将建议的默认值设置为C:\RailsInstaller
。
与此类似,RubyInstaller强烈建议避免使用带有空格的路径进行安装(位于安装屏幕中)
Ruby和一些库存在带空格的路径问题,这就是为什么推荐的安装目录为{1}},用于RubyInstaller 1.9.3
路径中的这些空格影响了C扩展等库的编译,并在某些情况下实际执行了程序。
虽然社区已经努力纠正这些问题,但是直到Ruby 2.0,大多数这些问题都已经为Ruby本身解决了。
如RubyInstaller Troubleshooting page
中所述特别注意INSTALLATION DIRECTORY和GEM PATH
如果您注意到这些目录包含空格,则可能是因为 你在一个带空格的文件夹中安装了Ruby(强烈不推荐)或 因为系统中的另一个环境变量正在干扰。 有空格的目录经常会导致DevKit的GCC出现问题 编译器。
现在,在你的错误回溯中:
C:\Ruby193
它表示其他因素干扰了C:/Program Files (x86)/RailsInstaller/Ruby1.9.3/bin/ruby.exe: invalid switch in RUBYOPT: -F (RuntimeError)
环境变量。
我建议您卸载这些修改并:
然后再试一次。
如果您不想手动处理所有组件的安装,可能应该为RailsInstaller尝试相同的(使用默认的干净安装)。
请注意,RailsInstaller 已经包含DevKit,因此无需单独安装。
最后但同样重要的是,如果您下载单独的DevKit,则必须使用正确的DevKit版本。这在RubyInstaller downloads page中提到:
在此页面下,有几个不同版本的开发套件 (DevKit)列出。请为您的版本下载合适的版本 红宝石:
RUBYOPT
希望有所帮助。