2016年05月28日

ruby2.2でredcarを動かすときの修正点

以前新しいエディタを試してみる試みで見つけたruby製テキストエディタのredcar。ruby2.0→2.2にバージョンアップを行ってから実行すると変なエラーを起こして起動失敗する

C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/lib/ruby/gems/2.2.0/gems/redcar-0.13/lib/redcar.rb:32:in `<top (required)>': uninitialized constant Config (NameError)
        from C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/lib/ruby/gems/2.2.0/gems/redcar-0.13/bin/redcar:23:in `<top (required)>'
        from C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/bin/redcar:22:in `load'
        from C:/Programs/usbrumix2/ruby/2.2/x64-mingw32/bin/redcar:22:in `<main>'

なんじゃこりゃ。



はじめはredcarのバージョンのせいか、x64とx86間違えたせいか、usbrumixなんて妙な環境のruby使ってるせいか色々悩んだんだけど、エラー発生箇所をirbで実行したりソース眺めたりネットで調べたりしてるとみつけた。


「ruby2.2ではConfigがRbConfigに変わっているので」コレダ。
redcarで定数Configが使われているのは以下4箇所

redcar/runner.rb:7:      jruby = Config::CONFIG["RUBY_INSTALL_NAME"] == "jruby"
redcar/runner.rb:96:      if Config::CONFIG["host_os"] =~ /darwin/
redcar.rb:32:  if Config::CONFIG["RUBY_INSTALL_NAME"] == "jruby"
redcar_quick_start.rb:84:    case Config::CONFIG["target_os"]
これらを全部RbConfigに変えれば無事起動する。
こういうのって公式に反映するのどうするんだろうね
つーかredcar自体2013年から更新されてないみたいなんだけど、これもう捨てられたソフトなのかな。
アーキテクチャは好きなのに
タグ:ruby
posted by LoyalTouch at 08:19| Comment(0) | TrackBack(0) | クライアントサイド | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/438350029

この記事へのトラックバック