无法构建gem native扩展 - 找不到extconf.rb

时间:2010-06-10 20:19:12

标签: ruby-on-rails windows ruby

尝试安装时

'bcrypt-ruby', :lib => 'bcrypt'

'hpricot'

我在两种情况下都使用它(使用Windows XP)

C:/Ruby/bin/ruby.exe: No such file or directory -- extconf.rb (LoadError)

我从这里安装http://rubyinstaller.org/downloads/ Rb 1.8.6,包括devkit

任何提示?,谢谢

3 个答案:

答案 0 :(得分:11)

现在RubyInstaller Wiki中有一个条目可以解决这个潜在的问题:

  

使用命令提示符,调用   以下命令:

REG QUERY "HKCU\Software\Microsoft\Command Processor"
REG QUERY "HKLM\Software\Microsoft\Command Processor"
     

单独执行每一行。一旦   你运行它,会看到类似的东西   这样:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    CompletionChar    REG_DWORD    0x9
    DefaultColor    REG_DWORD    0x0
    EnableExtensions    REG_DWORD    0x1
    PathCompletionChar    REG_DWORD    0x9
     

信息栏是Key,   类型和价值。如果你看到一个名为的键   AutoRun,这是有可能的   你收到的错误的罪魁祸首。   AutoRun干扰Ruby乱码   与子进程执行和通过   结果,影响宝石安装。   请删除以下内容   命令:

REG DELETE "HKCU\Software\Microsoft\Command Processor" /v AutoRun
     

完成后,尝试打开一个新的   命令提示符和执行gem   再次安装。

答案 1 :(得分:0)

嗯,我的RubyInstaller + DevKit安装在第一次尝试时运行良好。所以有几个想法:

1。)您是否从名为“使用Ruby启动命令提示符”的快捷方式启动Gem? (这将确保包含正确的路径等。)

2.。)您确定DevKit安装正确吗?这两个宝石都包含the extconf.rb file,但如果没有立即可用的预期开发工具,Gem仍然会窒息。

(...否则,RubyInstall mailing list可能是寻求帮助的最佳位置 - 或宝石的作者,但看起来他并没有“做”Windows。)

答案 2 :(得分:0)

如果Ryan Barton的上述答案无效,请尝试此操作。它也来自RubyInstaller Wiki

使用命令提示符,调用以下命令:

SET COMSPEC

该默认输出应如下所示:

ComSpec=C:\Windows\system32\cmd.exe

如果输出中包含与cmd.exe不同的可执行文件,请将其调整为使用cmd.exe。请注意,变量必须包含cmd.exe可执行文件的完整路径,相对路径将失败。

某些工具可能会更改命令处理器命令,这会干扰Ruby调用子进程。

未处理的变量(您可以在系统属性 - 环境变量中找到)是:%SystemRoot%\system32\cmd.exe

更改并尝试再次安装gem。