Hatena::ブログ(Diary)

オレワカ。 このページをアンテナに追加 RSSフィード

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 4.4にRMagick をインストールする (山本隆の開発日誌)

CentOSにsqlite3をインストール

CentOSにsqlite3をインストールしようとしてはまりました。

# gem install sqlite3-ruby

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

sqlitesqlite-develが必要だったみたい

# yum -y install sqlite

# yum -y install sqlite-devel

無事インストールできました。

# gem install sqlite3-ruby

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

サーバにファイルを転送するのはscpが便利

ローカルで開発したソースをサーバにあげるのはscpがよさげ

scp - ファイル転送コマンド

ローカル開発>git>scpでコピー>チェックアウト

がいいのかな。

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

こんな感じ。

参考

ヽ( ・∀・)ノくまくまー(2005-07-31)

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

バグTYPO

とりあえず動いたのでよしとします。

参考

no title

no title

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

これでサーバ再起動するだけでOK!

独自の日本語化も可能みたいです。

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

% ruby script/generate authenticated user session

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/


サーバにのせるときに気をつけないと。。

開発環境と実行サーバとの環境共通化ってみなさんどうしてるんでしょ?

http://blog.livedoor.jp/endo0322/archives/50958952.html

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

http://googlewhacks.blogspot.com/2009_03_01_archive.html

2009-02-01

新たなプロジェクトの立ち上げとあれこれ。

去年あたりからちょっとずつ進めていたプロジェクトにWebデザイナーが加わってなんとか形になっていきそうです。

プロジェクトとして目指すところはメンバーで共有するとして、個人的に実現したいことを一言で表すと


夢をあきらめない場の提供


閉塞感漂う今の世の中で、いろいろなことを犠牲にして自己実現できないでいる人たちが、それを出来る場を提供したいです。

そして、その結果だけでなく、過程も間違いなく上質なエンターテイメントであり、それに触発されてやってみる人が増えたら・・・。

そんな想いを持って進めていこうと思います。