簡體   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