【问题标题】:Rdoc, YARD and irb, using intern method on an array?Rdoc,YARD和irb,在数组上使用实习生方法?
【发布时间】:2016-08-10 19:19:30
【问题描述】:

我只是想为我的 gem 生成文档,在运行 rdoc 或 yard 时出现错误

undefined method `intern' for []:Array

发生了什么事?我正在尝试重新安装所有内容,并且我使用的是 ruby​​ 2.3.1。另外,据我了解,您不能在数组上使用实习生,那么为什么 rdoc 和 yard 会尝试这样做呢?

编辑

我现在已经进一步调查,这与我的特定语法有关,因为我的设置适用于其他文件,而不是我的。如何检查哪个文件有语法问题?

RDoc 全栈跟踪(看起来与 YARD 跟踪相同,但我已将两者都包含在内):

error generating : Error while evaluating /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/template/darkfish/page.rhtml: undefined method `intern' for []:Array (RDoc::Error)
/home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:15678:in `_CodeFence'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:902:in `_Block'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:856:in `_Doc'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:834:in `_root'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:372:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:780:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:611:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/text.rb:143:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/comment.rb:181:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/text.rb:137:in `parse'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:6:in `block in generate_page'
    /home/isaiah/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/erb.rb:864:in `eval'
    /home/isaiah/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/erb.rb:864:in `result'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:678:in `render'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/template/darkfish/page.rhtml:33:in `block in generate_page'
    /home/isaiah/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/erb.rb:864:in `eval'
    /home/isaiah/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/erb.rb:864:in `result'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:725:in `template_result'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:704:in `block in render_template'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:699:in `open'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:699:in `open'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:699:in `render_template'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:467:in `generate_page'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:407:in `block in generate_file_files'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:403:in `each'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:403:in `generate_file_files'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/generator/darkfish.rb:246:in `generate'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/rdoc.rb:534:in `block in generate'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/rdoc.rb:529:in `chdir'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/rdoc.rb:529:in `generate'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/rdoc.rb:512:in `document'
    /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/bin/rdoc:20:in `<top (required)>'
    /home/isaiah/.rvm/gems/ruby-2.3.1/bin/rdoc:23:in `load'
    /home/isaiah/.rvm/gems/ruby-2.3.1/bin/rdoc:23:in `<main>'
    /home/isaiah/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `eval'
    /home/isaiah/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `<main>'

YARD 全栈跟踪:

/home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:15678:in `_CodeFence': undefined method `intern' for []:Array (NoMethodError)
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:902:in `_Block'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:856:in `_Doc'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:834:in `_root'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:470:in `apply'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:372:in `parse'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/rdoc-4.2.2/lib/rdoc/markdown.rb:780:in `parse'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/helpers/markup/rdoc_markdown.rb:14:in `initialize'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/helpers/html_helper.rb:67:in `new'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/helpers/html_helper.rb:67:in `html_markup_markdown'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/helpers/html_helper.rb:41:in `htmlify'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/layout/html/setup.rb:65:in `diskfile'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:355:in `render_section'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:251:in `block (2 levels) in run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:248:in `each'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:248:in `block in run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:386:in `add_options'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:247:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:269:in `block in yieldall'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:400:in `with_section'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:269:in `yieldall'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/layout/html/layout.erb:23:in `_erb_cache_5'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:279:in `erb'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/layout/html/setup.rb:60:in `layout'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:355:in `render_section'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:251:in `block (2 levels) in run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:248:in `each'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:248:in `block in run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:386:in `add_options'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:247:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:135:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:51:in `block in serialize_index'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/engine.rb:122:in `block in with_serializer'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/logging.rb:70:in `capture'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/engine.rb:120:in `with_serializer'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:50:in `serialize_index'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:67:in `serialize_file'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:10:in `block in init'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:9:in `each'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:9:in `each_with_index'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/templates/default/fulldoc/html/setup.rb:9:in `init'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:185:in `initialize'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:130:in `new'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/template.rb:135:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/templates/engine.rb:104:in `generate'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/cli/yardoc.rb:346:in `run_generate'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/cli/yardoc.rb:260:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/cli/command.rb:13:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/cli/command_parser.rb:71:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/lib/yard/cli/command_parser.rb:53:in `run'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/gems/yard-0.9.5/bin/yard:12:in `<top (required)>'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/bin/yard:23:in `load'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/bin/yard:23:in `<main>'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `eval'
    from /home/isaiah/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `<main>'

【问题讨论】:

  • 你有更长的堆栈跟踪还是这样?
  • @maxpleaner 我已经为 rdoc 和 yard 添加了完整的堆栈跟踪。
  • 奇怪,您确定您使用的是与您的文档语法相对应的最新版本吗?除此之外,我真的帮不了你。
  • @maxpleaner 你可以在跟踪中看到我的东西的版本号。

标签: ruby rdoc yard


【解决方案1】:

哇@thesecretmaster 我不敢相信你会这么愚蠢,没有意识到这是你在 README.md 中使用的特定语法的问题。是时候在 rdoc github 页面上打开 an issue 了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 2011-02-23
    • 2015-12-17
    • 2015-06-18
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 2013-09-26
    相关资源
    最近更新 更多