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 の流行らない原因か。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です