実はhokkai7go

hatenablogに移行しまんた

RubyでSinatraを使うときに入れるものたち

hokkai7goです。
今まで自分のサーバーでは気になったことがなかったのに、
ノートPCの仮想環境で走ってるDebian上ではいろいろとコケたので、
備忘録も兼ねていろいろ書きたいと思います。


最初は普通にgemからsinatraを入れていたんですね。
以前はそのまま実行するとWebサーバーが立ち上がって
という感じだったんですけど、
全てはこのエラーから始まりました。

/usr/lib/ruby/1.8/rubygems.rb:578:in `report_activate_error': Could not
find RubyGem test-spec (>= 0) (Gem::LoadError)
        from /usr/lib/ruby/1.8/rubygems.rb:134:in `activate'
        from /usr/lib/ruby/1.8/rubygems.rb:158:in `activate'
        from /usr/lib/ruby/1.8/rubygems.rb:157:in `each'
        from /usr/lib/ruby/1.8/rubygems.rb:157:in `activate'
        from /usr/lib/ruby/1.8/rubygems.rb:158:in `activate'
        from /usr/lib/ruby/1.8/rubygems.rb:157:in `each'
        from /usr/lib/ruby/1.8/rubygems.rb:157:in `activate'
        from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`require'
        from index.rb:3

この"Could not find RubyGem test-spec"
ここが重要なんですね。
gemの吐くエラーはいつもなんやかんやといっぱいメッセージが出てくるので、
どこが大事な部分で、何が足りないのかがわかりにくかったりします。


ということで、まずは

sudo gem install test-spec -V --no-ri --no-rdoc

をすることにしました。


ここで蛇足なのですが、一つ。

gemさん…いつまで待たせるんすか…。gemさんは仕事受け取ったら寡黙にこなしちゃうタイプだから困る。進捗報告してくれるとありがたいんだよなぁ。

http://twitter.com/hokkai7go/status/11594549937


こんなことをTwitterでつぶやいていると、
Ruby札幌のtmaedaさんからのReplyをいただきました。

@hokkai7go gem install -V


gemのオプションとして"-V"を付けると、今gemさんが何をしているか表示してくれます。
tmaedaさんありがとうございました。


ところで、もうひとつは"レシピ先輩"からです。
gem installのオプションとして、"--no-ri --no-rdoc"を付けると、
ドキュメントのインストールを抑止できるので、
インストールが早くなるそうです。