newgemsで作成した雛形からパッケージを作ろうとしてエラー
以下のサイトを参考にして、rubygems用のパッケージを作成しています。
http://d.hatena.ne.jp/secondlife/20061106/1162785661
雛形のlib/[app name].rbを編集して
機能を作成後に、パッケージを作成しようとすると、エラーがでました。
そのエラーを回避したのが、以下の記録です
-
- 環境
[6941]% ruby -v [/usr/ports/devel/subversion] ruby 1.8.6 (2007-09-24 patchlevel 111) [amd64-freebsd6] [6942]% rake --version [/usr/ports/devel/subversion] rake, version 0.8.1 [6943]% newgem -v [/usr/ports/devel/subversion] newgem 0.16.1 [6944]%
-
- 現象
[ERROR:1]% rake package --trace [/home/utadaq/work/ttt/sample_app] (in /home/utadaq/work/ttt/sample_app) rake aborted! sample_app is not a module ./config/../lib/sample_app/version.rb:1 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' ./config/hoe.rb:1 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require' /home/utadaq/work/ttt/sample_app/Rakefile:2 /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in `load' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in `raw_load_rakefile' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1897:in `load_rakefile' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in `load_rakefile' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1880:in `run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31 /usr/local/bin/rake:16:in `load' /usr/local/bin/rake:16
-
- 原因
モジュールではなく、クラスを作成していた場合、
lib/[app name]/version.rb
のファイルを書き換える必要
#module sample_app #:nodoc: <- ココをコメントアウト class sample_app #:nodoc: module VERSION #:nodoc: MAJOR = 0 MINOR = 0 TINY = 1 STRING = [MAJOR, MINOR, TINY].join('.') end end
コレでパッケージは作られましたが、
この対処が正しいかは自信なし。。。
-
- 追記
rubyのmoduleについて、どうもはっきり解ってないんだよなぁ。。。
- とか、かなり理解があやふや。