【问题标题】:Ruby Koans not compatible with Ruby 2.0.0?Ruby Koans 与 Ruby 2.0.0 不兼容?
【发布时间】:2013-02-28 18:34:30
【问题描述】:

在成功升级到 Ruby 2.0.0 的稳定版本后(耶!)我决定继续我的 Koans 启蒙之路。但是,像往常一样在 koans 文件夹中运行 rake 命令时,我收到此错误:

rake
cd koans
/Users/jordanthornquest/.rvm/rubies/ruby-2.0.0-p0/bin/ruby path_to_enlightenment.rb
/Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:399:in `rescue in meditate': uninitialized constant EdgeCase::Sensei::AssertionError (NameError)
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:407:in `meditate'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:470:in `block in walk'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:481:in `block (3 levels) in each_step'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:479:in `each'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:479:in `block (2 levels) in each_step'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:478:in `each'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:478:in `each_with_index'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:478:in `block in each_step'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:476:in `catch'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:476:in `each_step'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:469:in `walk'
    from /Users/jordanthornquest/programming/ruby-koans/koans/edgecase.rb:491:in `block in <top (required)>'
rake aborted!
Command failed with status (1): [/Users/jordanthornquest/.rvm/rubies/ruby-2...]
/Users/jordanthornquest/programming/ruby-koans/Rakefile:90:in `block in <top (required)>'
/Users/jordanthornquest/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `eval'
/Users/jordanthornquest/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => default => walk_the_path

我今天还从 GitHub 安装了一个全新的 Koans 批次,以确保这不是我的问题。都不适合我!它在 1.9.3 中仍然运行良好。值得注意的是,我还通过 RVM 安装了 Ruby 2.0。在这样做之前,我确保更新到最新的 RVM。

似乎是什么问题?

【问题讨论】:

    标签: ruby rvm ruby-2.0


    【解决方案1】:

    有一个拉取请求来解决这个问题,但尚未被接受:https://github.com/neo/ruby_koans/pull/84

    现在,您可以将src/edgecase.rb 的第 149 行编辑为:

    in_ruby_version("1.9", "2.0") do
    

    【讨论】:

    • 酷!无论如何,这需要稍后编辑吗?换句话说,这会对其他应用程序造成任何问题吗?我可以留下此代码,还是应该在 Koans 修复后立即将其改回?
    • 此更改直接针对 Koans 代码,而不是针对一般的 Ruby;它不会影响 Koans 之外的任何内容。当他们修复它时,您只需下载更新的代码并替换它。
    猜你喜欢
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多