« gitのソースがダウンロードできないなーと思っていたら。 | トップページ | 物理:光より速いニュートリノ? 相対性理論覆す発見か »

Radiant CMS 0.9.1でextensionをgenerateしようとするとgitを要求された顛末。

コトはさくらのVPSにRadiant CMS環境を、開発環境込みで構築しようとして起こりましたさ。

まずRadiant CMSが動くところまでで四苦八苦し(ハックなだけに)。

なんとか動いたぜー次はexntesion開発環境だぜーと思い、おもむろに script/generate extension xxx としたとき、こんなエラーなぞ。

$ script/generate extension page_category
NOTE: SourceIndex.new(hash) is deprecated; From /usr/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100:in `new'.
git version   2>&1:sh: git: command not found

まー、この"NOTE: SourceIndex.new(hash) is deprecated"もなんとかしたいのですけどね…。

で、問題はgit様。まぁこの機会に使い方を覚えるぜ?とインストを試みたところ、

  • CentOSの標準yumではRPMが無い。
  • Git本家に行ってソースコードを落とそうとしたところ、ソースのtar.bz2に何度やっても日を改めてもアクセスできない。
  • しかし「gitがダウンロードできない」的なキーワードでGoogleっても何も出てこない。

今日ようやく適切なキーワードを見つけ、真実に行き当たることができましたさ。

曰く、kernel.orgがクラックされた→gitのソースコードはkernel.org配下にある→ミラーは…無いの?(汗)

で、git無しでRadiant CMSのextensionを開発するための回避方法。つまりgit入れない。

radiant-0.9.1/lib/generators/extension/extension_generator.rb を読んだところ、どうもgit.gemが無かったり、Gitの呼び出しに失敗したときはスルーするように実装してある様子。また、件のgit: command not foundエラーは、require "git"した時点で発生します。

なんでgit.gem入れちゃったんだろう…と思っていたのですが、どうもRadiantをインストールしているどこかの段階で要求されたjewelerが依存していたことが判明。で、jewelerとは何ぞや?と調べなおすと、ソウルジェムもといrubygemの作成支援ツールのご様子。まぁ当面は要らないでしょう。

ということでgem uninstall jeweler gitなう。

結果として、

  1. script/generate extension xxxは成功。
  2. rake spec:extensionも成功。
  3. vendor/extensions/xxx/に移動し、rake specももちろん成功。
  4. spec/models/にtest_spec.rbを作成、中に適当な出力命令を仕込んでrake specしたところ、ちゃんと仕込んだ出力命令が実行されて終了。

ここまで動いたので、たぶん一安心かと。

この後もう一度さくらのVPSを初期化、Rubyのインストールから始めてみて、トラブルなく環境構築までできれば運用フェイズに移行しても良いかな、的な。

だがしかし、よく考えると運用環境に開発環境まで持ち込むのは色々危険だぜ?という真実のコトバは割と早い段階から聞こえてはいたのだけど、そこは取り敢えずスルーいたしたく。

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28934/52813669

この記事へのトラックバック一覧です: Radiant CMS 0.9.1でextensionをgenerateしようとするとgitを要求された顛末。:

コメント

コメントを書く