2014-12-05 60 views
2

我試着用紅寶石最後一個版本,但是當創業板運行軌道安裝,總是得到一個錯誤紅寶石,導軌創業板安裝錯誤 - 錯誤:在執行寶石...(編碼:: UndefinedConversionError)

ERROR: While executing gem ... (Encoding::UndefinedConversionError) 
    U+041D to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437 

我正在使用的Windows 8.

但寶石名單---本地工作..只在安裝,我的區域設置英語。

是什麼樣的問題呢?

+3

只是放棄在Windows上開發紅寶石/鐵軌的想法。如果您不想使用Linux作爲您的主操作系統,那麼可以使用雙啓動或某些虛擬機(VirtualBox,VmWare等)。 – 2014-12-05 21:58:44

回答

1

我們需要更多信息來解決您的問題。你在運行什麼命令?

該例外的含義是,gem中的某些字符在ibm437中是無效的,這是Windows機器上常見的'擴展ascii'編碼。

您可能需要通過將您的內部編碼設置爲UTF-8來解決此問題。 Encoding.default_internal = Encoding::UTF_8

你介意加入運行僅包含一個Ruby文件中的以下的輸出:

p [Encoding.default_external, Encoding.default_internal, __ENCODING__, Encoding.find('filesystem'), Encoding.find('locale')] 

感謝。如果你只在irb中做到這一點,那很好。

9

使用此鏈接: https://bugs.ruby-lang.org/issues/10300

他們說,你需要機會enconding在該registry.rb文件:

文件夾:Ruby2.1.0 \ LIB \紅寶石\ 2.1.0 \ win32的 文件:registry.rb 行:70

- LOCALE = Encoding.find(Encoding.locale_charmap) 
+ LOCALE = Encoding::UTF_8 
+ #LOCALE = Encoding.find(Encoding.locale_charmap)