色々やったことはあるのですが..
現在の最新は,redmine1.4.2 だし,
もうすぐ2.0.0 が出そうですが,メモとして書いておきます.
でも,きれいにはまとめません.あくまで自分向け.
ruby 1.9.x 対応ということで色々躓きました.
まず,自分の環境がWindows なので,Rubyの切り替えにはpik を利用したのですが,
1.9.x 環境は普段使ってないのでgem を入れ直す必要があったこと,
そして,thin のインストールに手こずったことでしょうか.
まず,
% rake generate_session_store
とすると,エラーになります.
Some gems may need to be installed or updated.
Please run `bundle install --without development test`.
と.
でも,これを実行しようとすると,RMagickの最新版(?)1.3.x を入れようとして
どうしてもエラーになります.
これは,以下のコマンドを実行すればOk.
% bundle install --without development test rmagick
下記サイトを参考にしました.同じ現象.助かった.
"rmagick を回避した Redmine 1.4 (trunk) のインストール | プログラマーズ雑記帳" - http://webcache.googleusercontent.com/search?q=cache:DW1GmYleNWwJ:yohshiy.blog.fc2.com/blog-entry-112.html+&cd=5&hl=ja&ct=clnk&gl=jp&client=firefox-a
上記のインストールをしなくても,下記リンクからrmagick-win32の欄にあるRMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zipを
ダウンロードして,中にあるImageMagick-6.5.6-8-Q8-windows-dll.exe を実行しインストール,
その後,同じフォルダの中にある,rmagick-2.12.0-x86-mswin32.gem をインストールすれば,入ります.
% gem install rmagick-2.12.0-x86-mswin32.gem
"RubyForge: RMagick: ファイルリスト" - http://rubyforge.org/frs/?group_id=12&release_id=39888
が,その後もエラーは続きます..
% rake db:migrate RAILS_ENV="production"
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install
the mysql gem and try again: gem install mysql.
rake aborted!
cannot load such file -- mysql
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
-----------------
% gem install mysql
をやっても,
% gem install mysql2
をやっても変わりません.
うーん,と困りつつ,Redmineの新規インストール手順(今回の自分はアップデートなので見ていなかった)をみると,
Ruby1.9.xの場合は,mysql を使う場合には,
config/database.yml のadapterの項目に,mysql2 と書かなきゃだめだよ!って
書いてあります.こんな感じ.
--------------------
production:--------------------
adapter: mysql2
database: redmine
host: localhost
encoding: utf8
これでOK?と思いきや,
% rake db:migrate RAILS_ENV="production"
rake aborted!
Incorrect MySQL client library version! This gem was compiled for 6.0.0 but the
client library is 5.1.30.
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
以下のサイトに従って,
-------------------------------
http://www-jp.mysql.com/downloads/connector/c/
から環境にあったものをダウンロードしてインスコ。
C:Program Files/MySQLConnector C 6.0.2/lib/opt/libmysql.dll
-------------------------------
にある,libmysql.dll をruby.bin のあるフォルダに置いてあげれば解決した.
参考:
"大晦日ですね。Railsの環境を掃除しましょう。 - はげたかの気ままな日記" - http://d.hatena.ne.jp/emerald00/20111231/1325288027
そして,ここからは,thin との格闘..
はい,これでできたので,thin を実行しようとしたら,ないって言われた.
pik 使って,Ruby1.9.3にしたので入ってないgem がいくつかあるんだった...
結局,Ruby1.8.7 の環境で動作確認.
% rake generate_session_store
Please install RDoc 2.4.2+ to generate documentation.
と言われるけど,これは無視していいらしい.
そんなこんなしてる間に,Redmine1.4.1が出たので環境かえてもう一度.
でもこんなエラー.
% rake db:migrate RAILS_ENV="production"
Please install RDoc 2.4.2+ to generate documentation.
rake aborted!
Mysql::Error: Can't create/write to file 'C:\work\xampp\tmp\#sql_16c8_0.MYI' (Er
rcode: 13): SHOW FIELDS FROM `issues`
Tasks: TOP => db:schema:dump
(See full trace by running task with --trace)
PC再起動したら直りました.こういうのほんとに嫌だ.
pik つかって,Ruby1.9.3 を使用.
gem の環境入れなおし.
でも,thin がインストールできなくてずっと困ってた.前はできたんだけどなぁって.
出来なかった原因は,Devkitに,Rubyのパスを渡しておく必要があって,pik使ったRubyに対してそれができていなかったから.
Devkitをインストールしたフォルダに移動して,config.ym を開く.
例)
c:/Ruby/devkit/config.yml
このファイルの最後の行に追記した.
その後,そのフォルダ上(devkitのあるフォルダ)で,
% ruby dk.rb review
として,config ファイルの書式が間違っていないことを確認して,
% ruby dk.rb install
とすればOK.
% gem install thin
だけでは,エラーになってしまったので以下のようにeventmachine を個別に入れたらうまく行った.
% gem install eventmachine --pre
% gem install thin
参考:
"ruby - Cannot install thin on windows - Stack Overflow" -
http://stackoverflow.com/questions/3649252/cannot-install-thin-on-windows
以下は,ただのエラーメモ.
後日,環境を新たに作り直したら以下のエラー..なにこれ..
C:\Ruby\devkit\tmp\thin>gem install thin
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing thin:
ERROR: Failed to build gem native extension.
"C:/Documents and Settings/username/.pik/rubies/Ruby-193-p194/
bin/ruby.exe" extconf.rb
checking for main() in -lc... no
creating Makefile
make
Makefile:172: warning: overriding commands for target `C:/Documents'
Makefile:163: warning: ignoring old commands for target `C:/Documents'
Makefile:172: warning: overriding commands for target `and'
Makefile:163: warning: ignoring old commands for target `and'
Makefile:215: *** multiple target patterns. Stop.
Gem files will remain installed in C:/Documents and Settings/username/
.pik/rubies/Ruby-193-p194/lib/ruby/gems/1.9.1/gems/thin-1.3.1 for inspection.
Results logged to C:/Documents and Settings/username/.pik/rubies/Ruby-
193-p194/lib/ruby/gems/1.9.1/gems/thin-1.3.1/ext/thin_parser/gem_make.out
結局,Makefileのエラーを見ると,rubyのパスに含まれている"Documents and Settings"の空白が
問題ありそうなので,.pik以下をコピーして行ったらうまくいきました.
あー,苦労したー.
pik で入れるRubyのインストール先をどうにか(手動ではない方法で)変えられないかと探して分かった結果,できるようだ.
% pik config install_dir=C:\rubypik\rubies
で設定
% pik config
で確認.無事にinstall_dir が設定されていることを確認すると,
ダウンロードフォルダは,USERPROFILE以下のままだが,インストール先は変更される.
これは以前の方法だけどうまく行かなかったのでした.
- pik 以下を全てコピー.
% cp C:\Documents and Settings\username\.pik C:\ruby\
% cd C:\Ruby\.pik\rubies\Ruby-193-p194\bin
% gem.bat install thin
C:\Ruby\.pik\rubies\Ruby-193-p194\bin>gem.bat install thin
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
qSuccessfully installed thin-1.3.1
1 gem installed
うまくいったので,pik のインストール先を変更する.
- 以前,pikインストールした時のフォルダに含まれるファイルの編集
自分の環境は,
pikのインストール先
"c:\rubypik"
pik ruby の移動先
C:\ruby\.pik
なので
c:/rubypik/pik.bat を開いて,以下のように該当箇所を編集.
-------------------
REM IF EXIST "%USERPROFILE%\.pik\pik.bat" (call "%USERPROFILE%\.pik\pik.bat")
IF EXIST "C:\Ruby\.pik\pik.bat" (call "C:\Ruby\.pik\pik.bat")
-------------------
ruby の移動先にある.pikrc を編集する.
c:/Ruby/.pik/.pikrc
-------------------
#[[ -s $USERPROFILE/.pik/pik.sh ]] && source $USERPROFILE/.pik/pik.sh
[[ -s c:/ruby/.pik/pik.sh ]] && source c:/ruby/.pik/pik.sh
-------------------
また,それでも,%USERPROFILE%/.pik/config.yml を使用するので,
このファイルを開いて,パスを修正しておく.
-------------------
#path: C:/Documents and Settings/username/.pik/rubies/Ruby-193-p194/bin
path: C:/Ruby/.pik/rubies/Ruby-193-p194/bin
-------------------
ただし,これらは,pik_install "hogehge" しちゃうと上書きされてしまうので
その際は気をつけること.
で,ここまで書いて,すでに書いた別の方法があることを知る...
■ ここからは,Ruby1.9.3, Redmine 1.4.1 の環境で.
% rake db:migrate RAILS_ENV="production"
can not load translations from C:/Ruby/share/redmine-1.4.1/config/locales/hr.yml
, expected it to return a hash, but does not
hr.yml は使わないので削除.もう一度.
rake aborted!
(C:/Ruby/share/redmine-1.4.1/config/locales/pt-BR.yml): mapping values are not a
llowed in this context at line 2 column 19
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
pt-BR.yml は使わないので削除.もう一度.
うまくいく.
そして,Redmine 1.4.1 では,thin が実行できなくなってしまった.
エラーログをみると,eventmachine.rb が不具合出しているとのこと.
% gem uninstall eventmachine
% gem install eventmachine -v 0.12.8
これをやったら起動するようになった.