在 FreeBSD 上安裝 Merb 1.0

上一篇提到 FreeBSD 上暫時因為 RubyGems 版本問題,沒辦法裝 Merb 1.0,我決定自己來惡搞...

一開始是想裝 Ruby 1.9,據說內建 RubyGems,但裝上去後發現內建的版本是 RubyGems 1.0.1,比 FreeBSD Ports 的還舊,還是自己動手把 Ports 裡的 RubyGems 升級好了...

要將 FreeBSD Ports 裡的 RubyGems 更新到 1.3.1,最麻煩的是要生出 pkg-plist,這點由 ports maintainer jw at innerewut.de 做的差不多了,他寫了 x-generate-plist 會幫你產生 pkg-plist,所以很容易就把 pkg-plist 做完然後 send-pr。(參考 ports/128731: [PATCH] devel/ruby-gems: update to 1.3.1,裡面有 patch file)

升級完成後就是要裝 Merb 了...

我的打算是等 clsung 更新 www/rubygem-merb 前都先完全用 gem 管理 RubyGems 套件,而不透過 Ports 管理 (他是這個 ports 的 maintainer)。所以接下來就是跑 sudo gem install merb

跑到一半會喊 sqlite3.h 不存在,先把 databases/sqlite3 裝進系統,再用 sudo gem install do_sqlite3 --with-sqlite3-dir=/usr/local 把 do_sqlite3 裝進去。接著繼續跑 sudo gem install merb 把剩下的套件都裝完。

然後裝一些一定會用到的東西,像是對 MySQL 的支援套件:sudo gem install do_mysql

大致上就是這樣...

Update:還少了 sudo gem install json,剛剛要 merb-gen app project 的時候發現會說少了 Json::Iconv 而不能跑 XD

Update:跑 merb 的時候發現還少了 DataMapper,所以要再裝 sudo gem install datamapper

Update:結果還是一直喊找不到 dm-types...

Update:還少了 sudo gem install mongrel

Update:dm-types 的問題可以在這篇回報看到一個 patch,這個 patch 預定在 1.0.1 會修正,在還沒修正前需要自己更新:I have dm-types gem installed but still get - FATAL: The gem dm-types (= 0.9.7, runtime), [] was not found

2 thoughts on “在 FreeBSD 上安裝 Merb 1.0”

  1. 我最後是用
    sudo gem install do_sqlite3 -- --with-sqlite3-dir=/usr/local
    才把 do_sqlite3 裝上去的 :)

Leave a Reply

Your email address will not be published. Required fields are marked *