2014-12-05 52 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)