トップ «前の日記(2011-02-27) 最新 次の日記(2011-03-17)» 編集

Route 477



2011-03-09

[vim] Ubuntu 10.10でVim 7.3をコンパイルする

この手順通りにやったら普通にコンパイルできました。

[ruby] rak 1.0を1.9に対応させる方法

gems/rak-1.0/bin/rakを直接編集して以下のパッチを当てるととりあえずエラーは出なくなる。

「これが最善かどうか分からないから」という理由でマージされてないけど。 まあ、オプションでエンコーディングを指定できるようにするのが良いんでしょうね。 デフォルトはEncoding.default_externalで。

[ruby] Rails2と3の起動コマンドを使い分ける方法

$ gem install rails
$ gem install rails -v 2.3.11

とやるとRails 3.0.4と2.3.11が両方インストールされた状態になるんだけど、単にrailsコマンドを実行すると新しい方が優先されるので

$ rails -v
Rails 3.0.4

となって、rails2のコマンドが使えなくなるように見える。

が、実はRubyGemsが自動生成する実行スクリプトは第一引数が「_(.*)_」という形式だったらバージョン指定とみなすという機能がある。

ので、上の例だと _2.3.11_ を頭につけることで、

$ rails _2.3.11_ -v
Rails 2.3.11

のように古い方のrailsコマンドを実行することができる。

以下 cat `which rails` の出力。

#!/home/yhara/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'rails' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0"

if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
  version = $1
  ARGV.shift
end

gem 'rails', version
load Gem.bin_path('rails', 'rails', version)