今日の写経

るびま

$ spec -v
rspec 1.2.7
# gem update rspec
$ spec -v
rspec 1.2.8

おい、昨日の今日だろw ってRubyKaigi効果なのかこれは

http://rspec.rubyforge.org/rspec/1.2.8/

んー、しかも、rspec_on_railsは1.2.7.1のままだから、何か怪しい感じ。

$ rails test
$ cd test
$ ruby script/generate rspec
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:269:in `rescue in require_frameworks': no such file to load -- openssl (RuntimeError)

...

# yum install openssl-devel -y
$ cd ~/work/src/ruby-1.9.1-p129/ext/openssl
# ruby extconf.rb
# make
# make install

ふう

$popd
$ ruby script/generate rspec

つまり推奨される、pluginにloadする方法を採ってない。失敗したらそうする。

$ rake spec
rake aborted!
Could not find RubyGem test-unit (= 1.2.3)

# gem install test-unit
$ rake spec
rake aborted!
RubyGem version error: test-unit(2.0.2 not = 1.2.3)

ちっ

  • lib/tasks/rake.spec の1行目に、バージョン指定が書いてあるので、修正して通す。
# lib/tasks/rake.spec
gem 'test-unit', '>= 1.2.3' if RUBY_VERSION.to_f >= 1.9

$ rake spec
rake aborted!
no such file to load -- sqlite3

はいはい

# yum install sqlite-devel -y
# gem install sqlite3-ruby
$ rake db:migrate
$ rake spec
/usr/local/lib/ruby/gems/1.9.1/gems/rubygems-update-1.3.4/lib/rubygems.rb:826:in `report_activate_error': RubyGem version error: test-unit(2.0.2 not = 1.2.3) (Gem::LoadError)

お前もか…。ひよって1.2.3にする

  • ついでにlib/tasks/rake.specも戻した
# gem install test-unit --version '1.2.3'
$ rake spec
$

ようやく写経に戻れる