Google Crisis Response(Google)
災害に関する情報源や、行方不明者情報の収集と検索を行う『パーソンファインダー』を初めとするツールの提供が行われています。

2007年4月30日 月曜日

undefined method `+’ for nil:NilClass

Filed under: FreeBSD
時間:0時36分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 ローカルサーバーには FreeBSD を入れていて、そこで使用しているソフトは Ports システムで管理しています。そして、その管理には portupgrade というツールを使用しているのですが、久しぶりにその設定ファイルをいじったら次のようなエラーが出るようになってしまいました。

  1. ** Error occured reading /usr/local/etc/pkgtools.conf: undefined method `+' for nil:NilClass

 結構間抜けな原因でしたが、ずっと気がつかないままだったのでメモしておきます。

 変更した設定ファイルは /usr/local/etc/pkgtools.conf。ここに、次のような記述を追加しました。

  1. ENV['PORTS_INDEX'] ||= ENV['PORTDIR'] + '/INDEX.local'

 当然これは間違っています。次のが正しい記述。

  1. ENV['PORTS_INDEX'] ||= ENV['PORTSDIR'] + '/INDEX.local'

 ENV['PORTDIR'] ではなく ENV['PORTSDIR'] です。S が抜けていました。
 undefined method の意味を関数とか機能だと解釈していたため、何がいけないんだろうとずっと悩んでいました。何のことはない。未定義変数に文字列結合はできないという意味だったようです。portupgrade は Ruby で書かれていて、このエラーは Ruby によるもののようです。Ruby をある程度使っていないと、これはわからないですね。

参考になりましたか?
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)
by WP-PostRatings
Loading ... Loading ...

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

HTML convert time: 0.099 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo