Tokyu.rb第2回集会

##目標 ruby-trunk で edge-rails を動かそうぜ!

##参加者

  • Rust/OGAWA(conceal-rs)
  • cesare
  • ginkouno
  • Yuumi3
  • FUKUDA

##ログ

  • ruby-trunk の build
% cd ruby-trunk
% svn up
% autoconf
% ./configure --prefix=/usr/local/ruby-pkg/ruby-1.9-trunk
% make
% sudo make install
% sudo ln -s /usr/local/ruby-pkg/ruby-1.9-trunk/bin/ruby /usr/local/bin/ruby1.9
% sudo ln -s /usr/local/ruby-pkg/ruby-1.9-trunk/bin/gem /usr/local/bin/gem1.9
% sudo ln -s /usr/local/ruby-pkg/ruby-1.9-trunk/bin/rake /usr/local/bin/rake1.9
% sudo ln -s /usr/local/ruby-pkg/ruby-1.9-trunk/bin/irb /usr/local/bin/irb1.9
% rehash
% ruby1.9 --version
ruby 1.9.0 (2008-08-01 revision 18249) [i686-linux]
  • edge-rails の clone
% cd edge-rails
% git clone git://github.com/rails/rails.git
  • とりあえずprojectを作ってみる
% cd ~/program/rails
% ruby1.9 /path/to/edge-rails/railties/bin/rails ruby-1.9
% cd ruby-1.9

できた.

  • 起動確認
% ruby1.9 script/server
/home/rust/program/rails/ruby-1.9/config/boot.rb:86:in `load_rubygems': undefined method `>=' for nil:NilClass (NoMethodError)
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:52:in `load_initializer'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:38:in `run'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:11:in `boot!'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:109:in `<top (required)>'
  from script/server:2:in `require'
  from script/server:2:in `<main>'

いきなり動かない.どうも Gem が Ruby1.9 から取り込まれたのに起因しているようだが,ひとまず 86行目あたりを変更して対処.

86c86
<         unless true or rubygems_version >= min_version
---
>         unless rubygems_version >= min_version

さらに RAILS_GEM_VERSION もコメントアウトしておく.そして再度挑戦.

% ruby1.9 script/server
gem_prelude.rb:98:in `push_gem_version_on_load_path': Could not find RubyGem rails (>= 0) (LoadError)
  from gem_prelude.rb:8:in `gem'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:61:in `load_rails_gem'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:53:in `load_initializer'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:38:in `run'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:11:in `boot!'
  from /home/rust/program/rails/ruby-1.9/config/boot.rb:109:in `<top (required)>'
  from script/server:2:in `require'
  from script/server:2:in `<main>'

んー,これも上記の Gem 系かな?と思ったんだが,もしかしたら Rails を /var/lib/gems から見てるんじゃないかと思い,vender 以下にシンボリックリンクを張ってみる.

% ln -s /path/to/edge-rails/rails /home/rust/program/rails/ruby-1.9/vendor/rails
% ruby1.9 script/server
=> Booting WEBrick...
=> Rails 2.1.0 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-08-02 16:09:15] INFO  WEBrick 1.3.1
[2008-08-02 16:09:15] INFO  ruby 1.9.0 (2008-08-01) [i686-linux]
[2008-08-02 16:09:15] INFO  WEBrick::HTTPServer#start: pid=1964 port=3000

ひとまず動いた.

  • ブラウザから見てみる.

http://localhost:3000/ をブラウザで開く.

image

まあそりゃないよね.と言うわけでインストール.

  • sqlite3-rubyをインストール
% sudo gem1.9 install sqlite3-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.2
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.2...
Installing RDoc documentation for sqlite3-ruby-1.2.2...
  • 再度ブラウザから.
% ruby1.9 script/server

image

違うエラーが出た.いろいろやって調べてみると,どうも sqlite3/database.rb を読み込めないらしい.ファイルはあるのになぜか読めない1ので,ファイルを開いてみることに.

% cat /usr/local/ruby-pkg/ruby-1.9-trunk/lib/ruby/gems/1.9.0/gems/sqlite3-ruby-1.2.2/lib/sqlite3/database.rb
cat: /usr/local/ruby-pkg/ruby-1.9-trunk/lib/ruby/gems/1.9.0/gems/sqlite3-ruby-1.2.2/lib/sqlite3/database.rb: 許可がありません

工工工エエエエエエェェェェェェ(゜Д゜)ェェェェェェエエエエエエ工工工 ん?開けない?何で?と思って,

% ls -la /usr/local/ruby-pkg/ruby-1.9-trunk/lib/ruby/gems/1.9.0/gems/sqlite3-ruby-1.2.2/lib/sqlite3/
合計 84
drwxr-xr-x 3 root root  4096 2008-08-01 22:17 .
drwxr-xr-x 3 root root  4096 2008-08-01 22:17 ..
-rw-r--r-- 1 root root  1745 2008-08-01 22:17 constants.rb
-rw-rw--w- 1 root root 24774 2008-08-01 22:17 database.rb
drwxr-xr-x 4 root root  4096 2008-08-01 22:17 driver
-rw-r--r-- 1 root root  2307 2008-08-01 22:17 errors.rb
-rw-r--r-- 1 root root  7480 2008-08-01 22:17 pragmas.rb
-rw-r--r-- 1 root root  4690 2008-08-01 22:17 resultset.rb
-rw-r--r-- 1 root root  6843 2008-08-01 22:17 statement.rb
-rw-rw--w- 1 root root  3738 2008-08-01 22:17 translator.rb
-rw-r--r-- 1 root root  1057 2008-08-01 22:17 value.rb
-rw-r--r-- 1 root root   153 2008-08-01 22:17 version.rb

642って何ですか....なぜか書き込みしかできない Permission で保存されるようなので,これは Ruby1.9 の Gem の問題か?とは思ったが,ひとまず変更して試してみる.

% sudo chmod 644 /usr/local/ruby-pkg/ruby-1.9-trunk/lib/ruby/gems/1.9.0/gems/sqlite3-ruby-1.2.2/lib/sqlite3/*.rb
  • もっかい挑戦
% ruby1.9 script/server

image

できたーヽ(´ー`)ノ2

##宴 ようやくできたところぐらいで,cesare さんのバッテリーがなくなりそうということで,後はずっと懇親会に.いろいろ話せて楽しかったです.


  1. Yuumi3 アドバイスにより判明 [return]
  2. ここまでおよそ2時間ぐらいの試行錯誤orz [return]
 
comments powered by Disqus