2009-01-07 早寝早起きに挑戦
寝過ごすに1票(笑)
◆ [日記][プログラム] サーバーにSQLite3を入れる
あくまでユーザ環境で。
cd ~/src
ftp http://www.sqlite.org/sqlite-3.6.7.tar.gz
tar xvzf sqlite-3.6.7.tar.gz
cd sqlite-3.6.7
./configure --prefix=$HOME
make
make install
これでインストール完了。rehashしてsqlite3とか叩けば使えるようになっています。
◆ [日記][プログラム] サーバにsqlite3-rubyを入れる
gem18 install sqlite3-rubyで行けるかなーと思ったけどsqlite3.hがねーよ、と怒られたのでRubyForge: SQLite-Ruby: Project Infoからsqlite3-rubyなtar.gzをダウンロードしてインストール。ちなみに入れたのはsqlite3-ruby-1.2.4.tar.gz
お約束だが
cd ~/src
ftp http://rubyforge.org/frs/download.php/42056/sqlite3-ruby-1.2.4.tar.gz
tar xvzf sqlite3-ruby-1.2.4.tar.gz
cd sqlite3-ruby-1.2.4
ruby setup.rb config --prefix=$HOME -- --with-sqlite3-dir=$HOME
ruby setup.rb setup
ruby setup.rb install
……で行こうと思ってhelp見たらgem installでも行けそう。
改めて。
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
chown/chgrp: Operation not permitted
*** Error code 71
はいrootでインストールしようとしあがりましたー
なにか悔しいのでググったらさくらインターネットで、gem install すると「chown/chgrp: Operation not permitted 」と叱られる件の対応ってのを見つけた
/usr/local/lib/ruby/1.8/i386-freebsd6/rbconfig.rb を見ると
> CONFIG["INSTALL"] = ENV['RB_USER_INSTALL'] ? '/usr/bin/install -c' : '/usr/bin/install -c -o root -g wheel'
とかいう記述がある
よって
setenv RB_USER_INSTALL true
とかコマンドラインで入力してから rubugemsをインストールすればいい
あー、確かにあるわ(笑)
というわけで、改めて。
setenv RB_USER_INSTALL true
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
で
Successfully installed sqlite3-ruby-1.2.4
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.4...
Installing RDoc documentation for sqlite3-ruby-1.2.4...
これでちゃんとインストールされました。
…
……と思ったらrubyでrequire 'sqlite3'ってやると、んなもんねぇと怒られる。なんじゃそりゃー 追記:最初にrequire 'rubygems'がいるのね。納得。
しょうがないので、前者(ruby setup.rbの方法)でやった。やっぱだめじゃーん。
参考にしたところ:Sakura サーバに sqlite3-ruby をインストールしてみる
しょうがないのでログを読んでみる……
---> lib
mkdir -p $HOME/lib/ruby/site_ruby/1.8/
RUBYLIBに足りない気がする……(笑)
というわけで、~/.cshrcをいじくる
setenv RUBYLIB $HOME/lib:$HOME/lib/ruby/site_ruby/1.8
よし、エラーを吐かなくなった!(笑)
……やっぱり
gem18 install sqlite3-ruby -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
でインストールするのが良いみたい。
ついでに手動で入れたsqlite3-ruby-1.2.4をアンインストール。
cd ~/src/sqlite3-ruby-1.2.4
ruby setup.rb distclean
っと。
ここまでやってrubyで
require 'rubygems'
require 'sqlite3'
ってやって怒られなくなった。
◆ [日記][プログラム] railsってコマンド入れたらエラーが出るよー
具体的にはこんな感じ
$HOME/lib/ruby/gem/gems/rails-2.2.2/bin/../lib/rails_generator/options.rb:32:in `default_options': undefined method `write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError)
from
$HOME/lib/ruby/gem/gems/rails-2.2.2/bin/../lib/rails_generator/base.rb:90
(以下略)
んなこと言われましても(笑)
調べていって、
require 'rubygems'
require 'activesupport'
って実行してエラーにならね? と言われた。エラーになった。
なんじゃこりゃぁぁぁーーー(笑)
しょうがないのでもう一回gem18 install rails --include-dependenciesを叩いてみる。やっぱり怒られた。
んじゃぁ、gem18 install rails activesupportでどーだ!
まだだめか!
んじゃぁ、gem18 install rake activesupport activerecord actionpack actionmailer activeresource railsならどうだあぁぁぁーーーんでもだめかーーーー!
と思ってエラーメッセージでググる。#8500 (rails bin raises: undefined method write_inheritable_attribute for Rails::Generator::Base:Class (NoMethodError)) - Rails Trac - Tracって所に
require 'rubygems'
require 'activesupport'
ってやってみそ? って書いてあった。やってみる。
no such file to load -- iconv (LoadError)
Rails 2.2 - undefined method write_inheritable_attributeによると、
your problem is a missing libiconv, which supports internationalization in Rails 2.2.
らしい。iconv入れろと。
とiconv - Rubyリファレンスマニュアルってページがヒット。多分これ。システムにはlibiconvが入ってるからruby周りかな。
……これはユーザー権限で入れるのを諦めて/usr/ports/converters/ruby-iconvでmake installしました。インストールされません(笑)しゃーないのでmake clean && make installでインストール。なんかrubyも再展開されたけど気にしない。
やっとrailsコマンドが動くようになったよー(何だったんだこの2時間は