无法构buildgem本机扩展 – 找不到extconf.rb

当试图安装

'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

任何提示?,谢谢

Solutions Collecting From Web of "无法构buildgem本机扩展 – 找不到extconf.rb"

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 

信息的列是键,类型和值。 如果您看到一个名为AutoRun的密钥,则有可能是您收到错误的罪魁祸首。 AutoRun干扰Ruby搞乱子进程执行,并影响结果,影响到安装。 请使用以下命令将其删除:

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

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

嗯,我的RubyInstaller + DevKit安装在第一次尝试中工作正常。 所以有一些想法:

1.)你是否从“用Ruby启动命令提示符”的快捷方式启动了Gem? (这将确保包括正确的路径等。)

2.)你确定DevKit安装正确吗? 这两个gem都包含extconf.rb文件 ,但是如果预期的开发工具不是立即可用的,Gem仍然会窒息。

(…否则, RubyInstall邮件列表可能是寻求帮助的最好的地方 – 或者是gem的作者,但是看起来他并没有“做”Windows。)

如果Ryan Barton的上述回答不起作用,那就试试这个。 它也是从RubyInstaller Wiki中提取的

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

 SET COMSPEC 

它的默认输出应该如下所示:

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

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

有些工具可能会改变您的命令处理器命令,这会干扰Ruby调用子进程。

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

改变这一点,并尝试再次安装宝石。