omni補完できるまで
ごにょごにょしたらomni補完できるようになったので、その記録。
理屈は分かってません。
omni補完がエラるを調べていたら、
gemコマンドが2つ入っていることに気づきました。
# sudo find / -name gem /Library/Ruby/Gems/1.8/gems/rubygems-update-1.2.0/bin/gem /opt/local/bin/gem /opt/local/var/macports/software/rb-rubygems/0.9.4_0/opt/local/bin/gem /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem /usr/bin/gem
/opt/local/bin/gemと/usr/bin/gem
# which gem /opt/local/bin/gem # gem env RubyGems Environment: - RUBYGEMS VERSION: 1.2.0 - RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.2] - INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /opt/local/bin/ruby - EXECUTABLE DIRECTORY: /opt/local/bin - RUBYGEMS PLATFORMS: - ruby - x86-darwin-9 - GEM PATHS: - /opt/local/lib/ruby/gems/1.8 - /opt/local/lib/ruby/gems - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://gems.rubyforge.org/
# which gem /usr/bin/gem # gem env RubyGems Environment: - RUBYGEMS VERSION: 1.2.0 - RUBY VERSION: 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0] - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - universal-darwin-9 - GEM PATHS: - /Library/Ruby/Gems/1.8 - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://gems.rubyforge.org/
Leopardなので、rubyとrubygemsはMacPortsでプリインストール済みです。
が、Rails2.1をインストールするにはrubygemsをアップデートしなきゃいけない(プリインストール時は0.9.4)
なので、
#sudo gem update --system
をしました。(1.2.0にアップデートされた)
このときに2つになったのかなあ・・
まあとりあえず2つありました。
omni補完がエラった(Missing the Rails 2.1.0 gem.)ときの状況は
/usr/bin/gemを叩いてRails2.1を入れたときでした。
Railsが入った場所は/Library/Ruby/Gems/1.8/gems/
この状況からやったこと
- rb-rubygemsをアンインストールしてみた
#sudo ports uninstall rb-rubygems
- rb-rubygemsをインストールしなおしてみた
#sudo ports install rb-rubygems
- gemをアップデートした
#sudo gem update --system
- ログインシェルのパスを変えた
/usr/bin/gemでなく、/opt/local/bin/gemを叩くように
# echo $PATH /opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/git/bin
- Rails2.1を入れた
#sudo gem install -v=2.1.0 rails
これでomni補完がうまく動くようになりました。
理屈は分かってません。
ぐぐったら、Macのrubygems周りでおかしくなったーというのがけっこうありました。
解決方法は人それぞれのようです・・