pikをビルドするには
pikをここからとってきて、rakeでビルドしようと思ったのだが、いろいろエラーが出てきます。慣れた人なら別にたいしたことじゃないのかもしれませんが、rakeビルド初心者の自分には、いろいろわからないことだらけでつまづきまくりました。
そこで、自己流ながら、いかにしてビルドおよびテストをこなせるようにしたか、その記録です。
1.rakeすると、rspecにて以下のエラー
Ruby_1.8/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: -O (OptionParser::InvalidOption)
これは、Rakefileの23行目、
ENV['SPEC_OPTS'] = '-O spec/spec.opts'
から、
ENV['SPEC_OPTS'] = '--colour --require=rubygems --require=lib/pik'
と変更するとOK.これで、rspecのテストは通るようになる。
次に、ビルドだが、
2. rake buildで以下のエラー
./../lib/pik.rb:11:in `require': no such file to load -- hpricot (LoadError)
これは、pik.rbのソースを開いて、ファイルの最初でいろいろrequireしてるところをいじる必要があります。具体的には、require 'hpricot' の前に、require 'rubygems'の一文を入れればOKです.
それでも、mkexyやupxがない、といったエラーがでます。(以下のような)
ruby -S exerb pik_runner.exy upx -9 pik_runner.exe 'upx' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
これらは単に実行ファイルがないだけなので、入れれば動きます。
mkexyのエラーは、exerbを解凍して、setup.rbを実行する。exerbはこちらから。
upxでのエラーは、upx.exeをダウンロードして、パスの通ってるところに入れる。upxはこちらから。
すると、ほら、pik_runner.exeができるのです。