2009-04-12
CentOS にImageMagickをインストールするときにはまった件
結論としては、以下の3点に気をつける必要があります。
1:ImageMagick-develをインストール
2:msttcorefonts-2.0-1.noarch.rpmのインストールとリンク作成
3:rmagickの旧バージョンをローカルにダウンロードしてインストール
なにはともあれインストール
# yum install ImageMagick-devel
# gem install rmagick Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb install rmagick checking for Ruby version >= 1.8.2... yes checking for gcc... yes checking for Magick-config... yes checking for ImageMagick version >= 6.3.0... no Can't install RMagick 2.9.1. You must have ImageMagick 6.3.0 or later.
インストールされているImageMagick-develが6.2.8のため、エラーになっているみたい
#gem install rmagick --version=1.15.17 Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /usr/bin/ruby gem_extconf.rb install rmagick --version=1.15.17 sh configure --version=1.15.17 configure: error: unrecognized option: --version=1.15.17 Try `configure --help' for more information. RMagick configuration failed with status 1. Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/gem_make.out
どうやらフォントが足りないらしいので、rpmでダウンロードしてインストールします。
Personal Fedora 7 Installation Guide
msttcorefonts-2.0-1.noarch.rpm
# rpm -ivh msttcorefonts-2.0-1.noarch.rpm
そしてなぜかローカルにgemパッケージをダウンロードしてインストールするとうまくいくらしい。なぜ?
http://files.rubyforge.vm.bytemark.co.uk/rmagick/
# gem install ./rmagick-1.15.17.gem Building native extensions. This could take a while... Successfully installed rmagick-1.15.17 1 gem installed
これで無事うごきました。
MacOSXに関してはこちら
Mac OSX にImageMagickをインストールするときにはまった件 - オレワカ。
参考
CentOSにsqlite3をインストール
CentOSにsqlite3をインストールしようとしてはまりました。
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb install sqlite3-ruby
checking for fdatasync() in -lrt... yes
checking for sqlite3.h... no
make
make: *** `sqlite3_api_wrap.o' に必要なターゲット `ruby.h' を make するルールがありません. 中止.
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
無事インストールできました。
Building native extensions. This could take a while...
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...
参考no title
Action Mailerで日本語メールを送る
railsでメールを送る際、ActionMailerを使うのが一般的です。
しかし、デフォルト文字コードは UTF8 ですので、日本語のメールを送信する場合は、日本語を含むヘッダ部分を iso-2022-jp に変換し、BASE64エンコードする必要があります。
require 'nkf'
class ContactMailer < ActionMailer::Base
@@default_charset = 'iso-2022-jp'
@@encode_subject = false
def base64(text, charset="iso-2022-jp", convert=true)
if convert
if charset == "iso-2022-jp"
text = NKF.nkf('-j -m0', text)
end
end
text = [text].pack('m').delete("\r\n")
"=?#{charset}?B?#{text}?="
end
def sending(name, email, mailbody)
@from = base64("某様 ")+"<#{email}>"
@recipients = "sample@sample.com"
@subject = base64("テスト用タイトル")
@body = mailbody
@headers["reply-to"] = email
end
end
こんな感じ。
参考
rails2.2でactive_formを導入するときにはまった
テーブルが存在していないModelに対してActiveRecordみたいなvalidationを行うための方法として、active_formプラグインがあります。
#gitが入ってること前提。
参考:Mac OS X でgitのinstall - オレワカ。
% git clone git://github.com/cs/active_form.git vendor/plugins/active_form
で、後はvalidationしたいmodelでActiveRecordの代わりにActiveFromを継承し、属性をは「attr_accessor」で定義するだけ。
ね?簡単でしょ?
・・・とおもいきや、以下のエラーが発生。
undefined method `self_and_descendents_from_active_record' for Hogehote:Class
???
プラグインの中のActiveForm.rbをみてみると、それっぽいメソッドはあるが名前がちょっとだけ違う。。
def self_and_descendants_from_active_record
[self]
end
というわけで、無理矢理いかのメソッドを追記したらいけました。
>>
def self_and_descendents_from_active_record
[self]
end
とりあえず動いたのでよしとします。
参考
2009-03-26
rails2.2でi18nを使ってアプリの日本語化を行う
rails2.1まではgettextを使って日本語化してたらしいけど、rails2.2はごく簡単に日本語化できるみたい。
まずはジェネレータのインストール
% sudo gem so -a http://gems.github.com
http://gems.github.com added to sources
% sudo gem install amatsuda-i18n_generators
Successfully installed locale-2.0.0
Successfully installed gettext-2.0.0
Successfully installed amatsuda-i18n_generators-0.6.0
3 gems installed
Installing ri documentation for locale-2.0.0...
Installing ri documentation for gettext-2.0.0...
Installing RDoc documentation for locale-2.0.0...
Installing RDoc documentation for gettext-2.0.0...
日本語翻訳用yamlファイルの生成
% ruby script/generate i18n ja
debug updating environment.rb ...
debug fetching ja.yml from rails-i18n repository...
exists config/locales
update config/environment.rb
create config/locales/ja.yml
debug 2 models found.
debug 0 translation keys found in views.
debug translating activerecord.models.product ...
debug translating activerecord.models.user ...
debug translating activerecord.attributes.product.title ...
debug translating activerecord.attributes.product.code ...
debug translating activerecord.attributes.product.image ...
debug translating activerecord.attributes.product.cover_image ...
debug translating activerecord.attributes.product.price ...
debug translating activerecord.attributes.product.description ...
debug translating activerecord.attributes.user.login ...
debug translating activerecord.attributes.user.name ...
debug translating activerecord.attributes.user.email ...
debug translating activerecord.attributes.user.crypted_password ...
debug translating activerecord.attributes.user.salt ...
debug translating activerecord.attributes.user.remember_token ...
debug translating activerecord.attributes.user.remember_token_expires_at ...
debug took 0.381967 secs to translate.
create config/locales/translation_ja.yml
Loaded suite script/generate
Started
Finished in 0.000243 seconds.
0 tests, 0 assertions, 0 failures, 0 errors
独自の日本語化も可能みたいです。
http://d.hatena.ne.jp/biaxis/20081125/1227553968
http://blog.dio.jp/2008/11/22/japanizing-rails-2-2-by-i18n-generators
2009-03-22
restful_authenticationプラグインをrails2.2で入れる
#gitが入ってること前提。
参考:http://d.hatena.ne.jp/orewaka/20090321/1237633616
プロジェクトのルートディレクトリで、以下コマンド実行
% git clone git://github.com/technoweenie/restful-authentication.git vendor/plugins/restful_authentication
必要なもろもろをgenerate
migrateを忘れないようにしないと。
http://d.hatena.ne.jp/biaxis/20081125/1227564316
ここら辺も使えそう
http://koress.jp/2009/01/jpmobile_restful_authenticatio.html
Mac OSX にImageMagickをインストールするときにはまった件
file_columnでmagickを使うため、ImageMagickをインストールしようとしたらいろいろはまりました。
結論:
ちゃんとMacPortsでアップグレードして、ImageMagickをインストールする。
経緯:
以下のコマンドでインストールしようとしたらエラー発生
$ sudo port install ImageMagick
なんだか参照しようとしてるライブラリが異なるみたい
という訳でもろもろアップグレード
$ sudo port upgrade installed
するとxorg-renderprotoのアップグレードでエラーが発生。。
なんでもrenderと競合しているらしいので、deactivateしてみる。
$ sudo port deactivate render
---> Deactivating render
$ sudo port activate xorg-renderproto
---> Activating xorg-renderproto
で、アップグレードしたら無事できました。
http://d.hatena.ne.jp/conceal-rs/20090128/1233107607
http://www.katawara.com/2008/02/file_column_usage/
サーバにのせるときに気をつけないと。。
開発環境と実行サーバとの環境共通化ってみなさんどうしてるんでしょ?
2009-03-21
Mac OS X でgitのinstall
railsのplug-inバージョン管理がgitで行われているようなのでインストールしました。
MacPortでインストールしようとしましたが、失敗
% sudo port install git-core +gitweb +svn
---> Fetching p5-error
---> Attempting to fetch Error-0.17012.tar.gz from http://ftp.ucr.ac.cr/Unix/CPAN/modules/by-module/Error
〜
原因は当該アプリの旧バージョンを取得しようとしていることらしい
MacPortsは各portのバージョンや依存関係といった情報をローカルなファイルに保存している。そのportがインストールされていなくても、である。
解決策はMacPortのselfupdateらしい
sudo port selfupdate
そのあとはばっちりインストールできました。
% git --version
git version 1.6.2.1
2009-02-01
新たなプロジェクトの立ち上げとあれこれ。
去年あたりからちょっとずつ進めていたプロジェクトにWebデザイナーが加わってなんとか形になっていきそうです。
プロジェクトとして目指すところはメンバーで共有するとして、個人的に実現したいことを一言で表すと
夢をあきらめない場の提供
閉塞感漂う今の世の中で、いろいろなことを犠牲にして自己実現できないでいる人たちが、それを出来る場を提供したいです。
そして、その結果だけでなく、過程も間違いなく上質なエンターテイメントであり、それに触発されてやってみる人が増えたら・・・。
そんな想いを持って進めていこうと思います。

