IRBのバージョンは簡単に変更できるけど、Relineのバージョン変えてIRB起動するのが面倒だったのでスクリプトを書いてみた。 手元でしか使わないのでARGVで文字列渡すだけの簡素な作り。
bundler/inline は便利だなぁ。
コードにもコメントしてあるけど、ARGV.clear
しないとIRBの lib/irb/magic-file.rb で ARGV[0]
を File.open
しようとして落ちるので ARGV.clear
している。
使用例
ruby irb_reline_versions_changer.rb 1.4.1 0.3.0
#!/usr/bin/env ruby require 'bundler/inline' IRB_VERSION = ARGV[0] RELINE_VERSION = ARGV[1] # NOTE: IRBのMagicFileでARGVをファイルとしてOpenしようとして落ちるためARGVを削除する ARGV.clear gemfile do source 'https://rubygems.org' gem 'irb', IRB_VERSION gem 'reline', RELINE_VERSION end require 'irb' require 'reline' puts "irb: #{IRB::VERSION}" puts "reline: #{Reline::VERSION}" IRB.start(__FILE__)