繁体   English   中英

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

[英]Failed to build gem native extension - extconf.rb not found

在尝试安装时

'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

任何提示?谢谢

现在, 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搞乱子进程执行和结果,影响gem安装。 请使用以下命令将其删除:

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

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

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

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

SET COMSPEC

该默认输出应如下所示:

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

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

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

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

改变它并尝试再次安装gem。

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

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

2.)你确定DevKit安装正确吗? 这两个宝石都包含extconf.rb文件 ,但如果预期的开发工具不能立即使用,Gem仍会阻塞。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM