バリケンのRuby日記 RSSフィード

2007-03-28

[][][] Debian sargeのgemのバージョンを上げる  Debian sargeのgemのバージョンを上げる - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  Debian sargeのgemのバージョンを上げる - バリケンのRuby日記  Debian sargeのgemのバージョンを上げる - バリケンのRuby日記 のブックマークコメント

こないだ掲示板Debianでも作ってみようとして、

$ cd
$ mkdir rails
$ cd rails
$ rails -d sqlite3 bbs
$ cd bbs
$ ruby script/generate model entry

とやったところでエラーなっちゃった

$ script/generate model entry
./script/../config/boot.rb:29: undefined method `gem' for main:Object (NoMethodError)
        from script/generate:2:in `require'
        from script/generate:2
$

あれー?「undefined method `gem'」と言われているのでgemのバージョンが古いせいかな?

$ gem --version
0.8.11
$

というわけでちょっと古いので、最新版の0.9.2にRubyGemsアップグレードしてみるよ。

ちなみにぼくはここを参考にして/opt以下にRubyGemsを導入したから、違う場所にRubyGemsを導入した人は手順が違うから注意してね。

あと以下の例ではrootアカウントで実行しているけど、本当はsudoを使ったほうがいいと思うよ。

# export RUBYLIB=/opt/local/lib/site_ruby/1.8/
# export GEM_HOME=/opt/rubygems/
# export PATH=/opt/bin:/opt/rubygems/bin:$PATH
# wget http://rubyforge.org/frs/download.php/17188/rubygems-update-0.9.2.gem
# gem install rubygems-update-0.9.2.gem
# cd  /opt/rubygems/gems/rubygems-update-0.9.2/
# ruby setup.rb config --prefix=/opt/
# ruby setup.rb setup
# ruby setup.rb install

バージョンを確認してみるよ。

# gem --version
0.9.2
#

うん、大丈夫みたい。あと前回インストールしたrake-0.7.2とrails-1.2.3も、いったん入れなおしたほうがいいみたい。

# cp /opt/rubygems/cache/rake-0.7.2.gem /tmp
# cp /opt/rubygems/cache/rails-1.2.3.gem /tmp
# gem uninstall rake

Select gem to uninstall:
 1. rake-0.7.1
 2. rake-0.7.2
 3. All versions
> 2

You have requested to uninstall the gem:
        rake-0.7.2
rails-1.2.3 depends on [rake (>= 0.7.2)]
rails-1.1.6 depends on [rake (>= 0.7.1)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn]  Y
Successfully uninstalled rake version 0.7.2
# gem install /tmp/rake-0.7.2.gem
Successfully installed rake, version 0.7.2
Installing ri documentation for rake-0.7.2...
Installing RDoc documentation for rake-0.7.2...
# rm /tmp/rake-0.7.2.gem
# gem uninstall rails

Select gem to uninstall:
 1. rails-1.1.6
 2. rails-1.2.3
 3. All versions
> 2
Successfully uninstalled rails version 1.2.3
# gem install /tmp/rails-1.2.3.gem
Successfully installed rails, version 1.2.3
# rm /tmp/rails-1.2.3.gem
#

じゃあ、ふつうのユーザーに戻って、さっきのつづきをやってみるよ。

$ ruby script/generate model entry
      exists  app/models/
      exists  test/unit/
      exists  test/fixtures/
      create  app/models/entry.rb
      create  test/unit/entry_test.rb
      create  test/fixtures/entries.yml
      create  db/migrate
      create  db/migrate/001_create_entries.rb
$

今度はうまくいったよ!

追記:RubyGems自体のバージョンアップは「gem update --system」でできるみたい。

# gem update --system
トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20070328