Play framework で依存関係を設定する

現象

Play framework のチュートリアルを進めていくと、NetBeans 上で CRUD とか Secure など追加した機能の参照エラー溜まってくる。動くんだけど気持ち悪いので何とかしたい。

環境

対策

  1. チュートリアルだと、機能を追加するときは application.conf に設定を追加している。これだと、起動時に Warning 表示が出ている。dependencies.yml での設定が推奨されているようだ。
    11:09:57,406 WARN  ~ Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.crud)
    ...
    11:09:57,406 WARN  ~ Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.secure)
  2. dependencies.yml に依存設定を追加し、application.conf からは設定を削除(またはコメントアウト)。
    # Application dependencies
    
    require:
        - play
        - play -> crud
        - play -> secure
  3. play dependencies コマンドを使って依存機能を読みこませる。
    > play dependencies yabe
    ...
    ~ Installing resolved dependencies,
    ~
    ~       modules/crud -> C:\usr\Play\play1.2.3\modules\crud
    ~       modules/secure -> C:\usr\Play\play1.2.3\modules\secure
    ~
    ~ Done!
  4. NetBeans と eclipse の設定を更新。(IDE は終了させておく)
    > play eclipsify yabe
    ...
    > play netbeansify yabe
  5. NetBeans の参照エラーと、アプリケーション起動時の Warning が消えていることを確認する。

参照

Play framework で CRUD オーバーライドエラー

現象

Play framework チュートリアルの CRUD オーバーライドコマンドがうまくいかない。

> play crud:ov --template Comments/list
...
~ Invalid command: crud:ov

環境

対策

プロジェクトの指定が必要だった。

> play crud:ov yabe --template Comments/list

Install BitNami Redmine 1.2.2

目的

Redmine をインストールしようとしたものの、依存パッケージのリビジョンが少し違うだけでもエラー出まくりで前に進まず。いちいちパケージを手動で入れていくと面倒くさすぎるので、Trac と同じく All-In-One パッケージを利用することにした。

環境

手順

  1. BitNami Redmine の最新版をダウンロードする。
  2. インストーラーを起動し、言語は日本語を選択。
    指示に従ってウィザードを進める。
  3. なんのメッセージもなく「はい/いいえ」だけの画面に遭遇。
    BitNami Redmine smtp Japanese
  4. インストーラーを英語で起動しなおし、メッセージを確認。SMTP の設定でした。
    BitNami Redmine smtp English
  5. インストール実行。ファイアウォールの確認メーッセージが出たら、ブロックを解除する。
    Firewall
  6. http://localhost/redmine/ を開いて、Redmine の起動を確認する。

注意

すでに Apache や MySQL がインストールされている状態だと、競合の可能性あり。

感想

簡単。Windows に Redmine 入れるならこれしかない。
というか、Windows に Ruby の設定をするのが超面倒くさすぎ。

RubyGems でバージョンを指定してパッケージをインストールする。

目的

Redmine のインストールで、セッションストア秘密鍵を生成しようとしたら、

PS C:\usr\Redmine\redmine1.2.2> rake config/initializers/session_store.rb
rake.bat : Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`
発生場所 行:1 文字:5
+ rake <<<<  config/initializers/session_store.rb
    + CategoryInfo          : NotSpecified: (Missing the i18... -v=0.4.2 i18n`:String) []、R
   emoteException
    + FullyQualifiedErrorId : NativeCommandError

エラー発生。i18n の 0.4.2 が必要らしい。

環境

手順

  1. エラーメッセージの通り gem ってみると、
    PS C:\usr\Redmine\redmine1.2.2> gem install -v=0.4.2 i18n
    gem.bat : ERROR:  Could not find a valid gem '.4.2' (= 0) in any repository
    発生場所 行:1 文字:4
    + gem <<<<  install -v=0.4.2 i18n
        + CategoryInfo          : NotSpecified: (ERROR:  Could n... any repository:String) []、R
       emoteException
        + FullyQualifiedErrorId : NativeCommandError
    
    ERROR:  Could not find a valid gem 'i18n' (= 0) in any repository
    
    ERROR:  Possible alternatives: i18n

    ダメ。リポジトリに登録されてないのか?
    というより、バージョンの “0” を認識できてない感じ。

  2. オプションの位置を変えてみたりする。
    PS C:\usr\Redmine\redmine1.2.2> gem install i18n -v=0.4.2
    gem.bat : ERROR:  Could not find a valid gem 'i18n' (= 0) in any repository
    発生場所 行:1 文字:4
    + gem <<<<  install i18n -v=0.4.2
        + CategoryInfo          : NotSpecified: (ERROR:  Could n... any repository:String) []、R
       emoteException
        + FullyQualifiedErrorId : NativeCommandError
    
    ERROR:  Possible alternatives: i18n
    
    ERROR:  Could not find a valid gem '.4.2' (= 0) in any repository

    やっぱダメ。

  3. 括弧で囲んでみるが…
    PS C:\usr\Redmine\redmine1.2.2> gem install i18n -v=(0.4.2)
    式またはステートメントのトークン '.2' を使用できません。
    At line:1 char:25

    コマンドとして認識してくれない…

  4. ダメ元で “-v” を “–version” にしてみる。
    PS C:\usr\Redmine\redmine1.2.2> gem install i18n --version=0.4.2
    gem.bat : unable to convert U+00C0 from UTF-8 to Windows-31J for lib/i18n/backend/transliter
    ator.rb, skipping
    発生場所 行:1 文字:4
    + gem <<<<  install i18n --version=0.4.2
        + CategoryInfo          : NotSpecified: (unable to conve...or.rb, skipping:String) []、R
       emoteException
        + FullyQualifiedErrorId : NativeCommandError
    
    unable to convert U+00A0 from UTF-8 to Windows-31J for lib/i18n.rb, skipping
    
    unable to convert U+00C0 from UTF-8 to Windows-31J for lib/i18n/backend/transliterator.rb, s
    kipping
    
    unable to convert U+00A0 from UTF-8 to Windows-31J for lib/i18n.rb, skipping
    
    Successfully installed i18n-0.4.2
    1 gem installed
    Installing ri documentation for i18n-0.4.2...
    Installing RDoc documentation for i18n-0.4.2...

    なんかエラーは出たがインストールできた!

    PS C:\usr\Redmine\redmine1.2.2> gem list i18n
    i18n (0.6.0, 0.4.2)

感想

このへんの「わかりにくさ」が、イマイチ Ruby の流行らない原因か。

Install Ruby 1.9.3 on Windows

目的

Redmine 評価のため、作業用PCに Ruby をインストールしたい。

環境

手順

  1. RubyInstallerダウンロードする。
    Ruby 公式サイトからは、4か所の Windows 版バイナリを落とせるサイトが紹介されているが、今回は消去法で RubyInstaller を選択した。

    • ActiveScriptRuby は、Ruby のみのバイナリは最新版1.9.3がUPされているが、ActiveScriptRuby パッケージは1.8.7までしかない。
    • Ruby-mswin32 は、昨年出た1.9.2までしかなく、今年に入って更新がない。
    • cygwin,djgpp,mingw,mswin32 は、昨年出た1.9.2までしかなく、今年に入って更新がない。
  2. インストーラーを実行して、ウィザードの指示に従いインストールする。
    インストールパスにスペースを含まないよう注意する。
  3. 環境変数 path に ruby.exe の場所を追加する。
  4. PowerShell から ruby.exe が起動できることを確認する。
    PS C:\Ruby\Ruby193\bin> ruby -v
    ruby 1.9.3p0 (2011-10-30) [i386-mingw32]

感想

公式サイトで Windows 用バイナリ用意してもらえると安心できるんだが…
なんかちょっと不安。