Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

ruby在gem list/install时提示编码等错误的解决方法



有时候在windows上用gem list时都会提示如下错误,很少情况,有一个同事遇到:

C:/Ruby24-x64/lib/ruby/2.4.0/win32/registry.rb:910:in `encode': U+6709 to IBM437 in conversion from UTF-16LE to UTF-8 to IBM437 (Encoding::UndefinedConversionError)

这个在修改C:/Ruby24-x64/lib/ruby/2.4.0/win32/registry.rb里,修改如下内容:

#注释下一行
#LOCALE = Encoding.find(Encoding.locale_charmap)
#新增下一行
LOCALE = Encoding::UTF_8

但如果又遇到了无法gem install的错误的时候,比如错误提示是:

install bundler:1.16.2  ERROR:  While executing gem ... (Encoding::CompatibilityError)  incompatible character encodings: UTF-8 and ASCII-8BIT

那么修改两个文件就解决了:

#C:\Ruby22-x64\lib\ruby\2.2.0\win32\registry.rb
#LOCALE = Encoding.find(Encoding.locale_charmap)
LOCALE = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

#C:\Ruby22-x64\lib\ruby\2.2.0\resolv.rb
#request[0,2] = [id].pack('n')
request[0,2] = [id].pack('U')

 

下一篇:  openstf与appium集成以自动化操作远程手机设备
上一篇:  Appium运行前获取Desired Capabilities

共有0条评论

添加评论

暂无评论