【问题标题】:Invalid multibyte sequence when requiring rest-open-uri需要 rest-open-uri 时的多字节序列无效
【发布时间】:2014-04-27 02:25:33
【问题描述】:

我卸载了 Ruby 1.9.3 并安装了 Ruby 2.0,然后安装了 rest-open-uri gem,因为我编写的脚本之一使用了该 gem,但是当我尝试运行它时出现此错误

E:/Ruby200-x64/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require': E:/Ruby200-x64/lib/ruby/gems/2.0.0/ gems/rest-open-uri-1.0.0/lib/rest-open-uri.rb:413:无效的多字节转义:/[\r\n\t !#-[]-~\x80-\xff]+ |(\[\x00-\x7f])/ (语法错误)

为什么会这样?我不完全确定这是否是由于我使用了较新版本的 Ruby。该 gem 于 2006 年发布,因此它可能已过时且不再受支持。

我使用的其他脚本 RestClient 没有这个问题,所以如果最好的解决方案是删除过时的库并转移到更新的库,我可能会这样做。

【问题讨论】:

    标签: ruby


    【解决方案1】:

    ruby 1.9 和 ruby​​ 2.0 之间的区别之一是默认编码现在是utf-8。要解决此问题,您应该编辑文件 E:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rest-open-uri-1.0.0/lib/rest-open-uri.rb,并添加第一行:

    # encoding: US-ASCII
    

    查看here了解更多详情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 2012-01-12
      • 2011-01-26
      相关资源
      最近更新 更多