はじめてのRuby on Rails、トラブル記録
スポンサーサイト

一定期間更新がないため広告を表示しています

posted by スポンサードリンク | | - | - | - |はてなブックマーク - スポンサーサイト
Rails3.2でのuninitialized constant Rake::DSLの解決方法
前にRails3.0.xを導入した時か3.1に変えた時に、rakeを実行したら
uninitialized constant Rake::DSL"
というエラーが出ました。

その時は、Gemfileで
gem 'rake', '0.8.7'
とrakeのバージョンを0.8.7で固定すれば解決できるってのを見て、実際それで解決。

でも今回railsのバージョンを3.2にしたら、また同じエラーが発生爆弾
今度はrakeのバージョンを指定しないで0.9.2.2を使うとか、固定にして0.9.2を使うっていう解決法が出てきたけどうまくいかずしょんぼり
rakeの古いバージョン削除すべきとか出てくるけど、プロジェクトによってまだ0.8.7が必要なものもあるからそういうわけにもいかず。

というわけで最終的に解決できたのがこの方法。
プロジェクトホームにあるRakefileというファイルに以下の一行を追加するだけ。
require 'rake/dsl_definition'

簡単解決!!ナイスグッド
このStackoverflowのこの質問のおかげです↓Thanks!
How to fix the uninitialized constant Rake::DSL problem on Heroku?
posted by トモト | 23:31 | エラー | comments(1) | trackbacks(0) |はてなブックマーク - Rails3.2でのuninitialized constant Rake::DSLの解決方法
gitでerror: error setting certificate verify locationsが出た場合の対処方法(Windows)
gitでプラグインをインストールしたら、こんなエラーがでました。
error: error setting certificate verify locations:
    CAfile: /c/Program Files (x86)/Git/bin/curl-ca
    CApath: none
while accessing https://github.com/marcel/aws-s3.git/info/refs

fatal: HTTP request failed

ググって調べた結果、Windowsだとgitconfigファイルに以下の内容を追加したらなおりました。
[http]
    sslcainfo = C:/Program Files (x86)/Git/bin/curl-ca-bundle.crt
[http]はもう書いてあれば書かなくてOK。

gitconfigファイルはGit/etc/の下にあります。ま、ファイル検索すれば良いかな。

元記事参照すむとこだけど、英語なので、日本語の人がたどり着きやすいように日本語で説明させてもらいましたー。

【参考】
git, Windows 7 & error: error setting certificate verify locations:
posted by トモト | 16:58 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - gitでerror: error setting certificate verify locationsが出た場合の対処方法(Windows)
rake db:migrateするとInvalid date: BTREEと出る
 Rails3を新しく始めて、新規プロジェクトでユーザー認証プラグインのDeviseをセットアップしようとしていたら、rake db:migrateでInvalid date: BTREEと出てmigrateできず

どうも調べてみたら、Rails3からの新しいMySQL用のアダプターのMySQL2のバグで起こっている模様。
githubのMySQL2のところに報告が上がっていました。

とりあえず重要な点をまとめると、
  • 原因はmigrationファイル中のadd_indexで引っかかっている。
    add_indexを使わなければいい。
  • WindowsのXPか7で32bit版を使ってる場合、MySQLのバージョンを5.1以降のibフォルダの中にあるlibmysql.dllをruby/binの中にいれればいい。最新版は5.5。
  • 64bitでは解決した人がいない模様……(2011/2/4現在)
自分の環境はMySQL5.1, Win7 64bit。
だめやん
仕方ないので、add_indexの行をコメントアウトしちゃいました。ここコメントアウトしても、emailやreser_password_tokenのカラム自体は作られます。
indexって使ったことないんだけど、どのくらい支障でるかなあ……。

【余談】
ところで、幸運にも32bitマシンを使っててこの記事を見たなら、MySQLをアップグレードすると思います。そのとき、今入ってるバージョンのやつはきちんと先に停止した方がいいですよ!どこのブログかわからなくなってしまったんですが、停止しなかったらひどい目にあったというのを見ました。
posted by トモト | 18:17 | エラー | comments(2) | trackbacks(0) |はてなブックマーク - rake db:migrateするとInvalid date: BTREEと出る
NetBeans6.8でFastDebuggerがインストールできない
PCの挙動があやしくなってきたので、新しいマシンを買ったら、たくさんトラブルが起きました。
プログラムの環境移すのって超めんどくさいしょんぼり

とくにこのNetBeansでデバッガ動かせないのはかなりわかりづらくて、解決方法探しても挫折してる例しか見当たらっず、かなりヤパかった…爆弾

■現在の環境■
Windows7(64bit)
Ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]
Rails 2.3.4
NetBeans 6.8

NetBeansで初めてプロジェクトをデバッグしようとすると、Fast Debuggerが必要ですと言われ、インストールするを選んでも、以下のエラーが出てインストールできない。
Building native extensions. This could take a while...
ERROR: Error installing ruby-debug-ide:
ERROR: Failed to build gem native extension.

Gem files will remain installed in C:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.9 for inspection.
Results logged to C:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.9/ext/gem_make.out


Fast Debuggerを入れるっていうのは実際にはruby-debug-baseとruby-debug-ideをgemで入れるということだというのがわかったので、NetBeansからもコマンドプロンプトからもgemのインストールをしようとしたけどだめ。
ruby-debug-ideを入れるには先にruby-debug-baseとlinecacheというのがないとだめらしいということだったので、試してみたところlinecacheは入ったけれどruby-debug-baseを入れようとすると下のようなエラーが出る。

Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

ruby extconf.rb install ruby-debug
creating Makefile

nmake
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。


Gem files will remain installed in C:/rubylib/ruby/gems/1.8/gems/ruby-debug-base-0.10.0 for inspection.
Results logged to C:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.9/ext/gem_make.out


nmakeっていうのはCのコンパイルするときのファイル?Cはよく知らないので詳しくはよくわからないけど、nmakeとやらを入れればいいのかと思って探してみたら見つかったんだけど、どうやらこのファイル32bit用で、64bitだと使えなかったんだぜ……悲しい

それで、どこかの英語のQAでVisual C++ 2008 Express Editionを入れたらなんだかわかんないけど動いたぜ!というのをふと思い出して、ためしてみる。

これを入れてもやっぱりコマンドプロンプトとかからはインストールできなかったけれど、Visual Studio 2008 コマンドプロンプトからgem installをやってみたら、普通のコマンドプロンプトよりログは余計に出た。
その時のログを保存してなかったので詳細をちょっと忘れてしまったけど…、なんかそこに書いてあったエラーログでググったら、別件ぽいけど関係あるかも?というのがあったので参考にしてみた。
http://ronspace.cocolog-nifty.com/blog/2009/02/ruby-pg-windows.html

ruby¥lib¥ruby¥1.8¥i386-mswin32¥config.hの1行目を以下のように修正
【修正前】
#if _MSC_VER != 1200
#error MSC version unmatch: _MSC_VER: 1200 is expected.

【修正後】
#if _MSC_VER < 1200
#error MSC version unmatch: _MSC_VER: 1200 is expected.


これでVCコマンドプロンプトからgem installでruby-debug-baseとruby-debug-ideがインストールできた!
NetBeansのツール>Rubyプラットフォーム>デバッガエンジンの所を確認すると、今まではClassic Debuggerとなっていたのが、Fast Debuggerとなっている!!

……しかし、これでもまだデバッガは動かなかった。
出力に何も表示されず、サーバーに接続されてないような感じ。
JRubyだとデバッガも動くし、デバッグでなく通常の実行だとサーバーも起動するのに……。

ここでもまたかなり悩んだけれど、先に「実行」をして、そのあとに「デバッガを接続」でポートを3000に指定したらログが吐かれるようになった。
やっぱり「プロジェクトをデバッグ」にしても動かないんだけど。。。
なんか腑に落ちないけど、まあ大まかには解決ということで。
posted by トモト | 19:07 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - NetBeans6.8でFastDebuggerがインストールできない
日本語化(1) poを作るまで
JUGEMテーマ:Ruby on Rails!


[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|5日目



前の投稿を見たら、なんと2年前!
仕事が忙しくなってとん挫していたRoRですが、2年ぶりに再開しました。
というわけで、すっかり忘れてしまっていたのでもう一度1日目からやり直し、大きな問題なく4日目まで終了。

5日目の日本語化でrake update_poしてみたら、
指定されたファイルが見つかりません。

と出た。

albumj/poにalbumj.potもできてるのになんだろうと調べてみたところ、
Windows環境だと初回このメッセージが出るみたい。
なので、このメッセージは問題ないとのこと。
ふー、よかったよかった。

しかしうちのPCにはパワポインストールしてあるので、
*.potはパワポのテンプレートってことに。
まあ実害はないんだけれど。。。
posted by トモト | 18:08 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - 日本語化(1) poを作るまで
syntax error スペース一つが命取り
[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|2日目



config/database.ymlでエラー
C:¥ruby¥rails¥yellowpage>rake migrate
(in C:/ruby/rails/yellowpage)
rake aborted!
syntax error on line 18, col 2: ` host: localhost'


また文法間違いですか。そうですか。

18行目はこれ。
password:ror


じっくり見ても、これの何が間違っているのかわからない……。

色々適当にいじってみたら、
なんと小さな間違い。
password: ror

「:」のあとに半角スペース1コないだけだった……!

きびしいのね、いろいろとしょんぼり
posted by トモト | 00:45 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - syntax error スペース一つが命取り
rake uninitialized constant ActiveRecord
[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|2日目


db_setup.rakeでのエラーその4。
どんだけここでエラー出したらすむんだ悲しい

D:¥rails¥yellowpage>rake db_setup
(in D:/rails/yellowpage)
** Invoke db_setup (first_time)
** Invoke db_connect (first_time)
** Execute db_connect
rake aborted!
uninitialized constant ActiveRecord


んー、またActiveRecordだけど、
今度はもう書き間違いとかはないように見えるし原因が分からない。

で、ネットで調べてたら解決方法を見つけました。ありがとうございます!
http://d.hatena.ne.jp/utadaq/20070318#1174227913

rakeファイルで
task :db_connect do

のところを
task :db_connect=>[:environment] do

にすればいいみたい。

……ところで、ものすごい基本的なことがわからないのですが。

続く
posted by トモト | 23:38 | エラー | comments(0) | trackbacks(1) |はてなブックマーク - rake uninitialized constant ActiveRecord
Rake エラーの見方 大文字小文字に気をつけて!
[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|2日目



はてさて、単純ミスを繰り返している私ですが、
またしてもケアレスミスをやってしまいましたー。

P.82 db_setup.rakeを実行したら、
D:¥rails¥yellowpage>rake environment RAILS_ENV=production db_setup
(in D:/rails/yellowpage)
rake aborted!
uninitialized constant Activerecord


どういうことだろう?
(See full trace by running task with --trace)

つまり--traceを後ろにつけたらもっと細かく様子が分かるみたいなのでやってみる。

D:¥rails¥yellowpage>rake environment RAILS_ENV=production db_setup --trace


そしたら、エラー行が分かったのでソースを確認したら……
あーっ!!
ActiveRecordと書かなきゃいけないところをActiverecordと書いてた冷や汗

しかももう一回db_setup.rakeコンパイルしたら、
今度はSchemaschemaになってた下向き
おおう。。。

大文字小文字はちゃんと分けないといけないのね〜。
よくわかりました。[:ふぅ〜ん:]
posted by トモト | 22:24 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - Rake エラーの見方 大文字小文字に気をつけて!
Invalid Char 変な文字入ってるみたい
[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|2日目



db_setup.rakeで出たエラー・パート2。
D:¥rails¥yellowpage>rake environment RAILS_ENV=production db_setup
(in D:/rails/yellowpage)
rake aborted!
D:/rails/yellowpage/config/../lib/tasks/db_setup.rake:1:
Invalid char `¥357' in expression
D:/rails/yellowpage/config/../lib/tasks/db_setup.rake:1:
Invalid char `¥273' in expression
D:/rails/yellowpage/config/../lib/tasks/db_setup.rake:1:
Invalid char `¥277' in expression
D:/rails/yellowpage/rakefile:10
(See full trace by running task with --trace)


Invalid char って不正な文字列ってこと?

で、調べてみたら、こちらでこのエラーの解説をしてらっしゃいました。

まず解決方法をサクっと書くと、
Rubyに付属のSci-TEエディタで
File > Encoding > UTF-8 CookieにすればOK


このエラーはUTF-8で保存したときに、ファイルの先頭にUnicodeの種類を表すマークを入れるからなのだそうだ。
だからエディタ上では何も変なものは見えないけど、
コンパイルするときにエラーが出てきてしまうのですね。

(続く)
posted by トモト | 01:37 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - Invalid Char 変な文字入ってるみたい
syntax errorはケアレスミス
[参考図書]
かんたんRuby on RailsでWebアプリケーション開発|2日目



「1日目」のところは特に問題なくできたので、2日目。

P.82,83ではRakeでデータベース作成タスクの実装をしますが、
このコンパイル時にエラー。

D:¥rails¥yellowpage>rake environment RAILS_ENV=production db_setup
(in D:/rails/yellowpage)
rake aborted!
D:/rails/yellowpage/config/../lib/tasks/db_setup.rake:10:
syntax error, unexpected tSYMBEG, expecting ')'


unexpected tSYMBEG, expecting ')'
予期されてないtSYMBEG、')'が期待されます?
なんじゃらほい?

……と思ったのだけれど、重要なのはsyntax errorの方だった。

syntax errorっていうのは、文法エラーのこと。
何か書き間違えしてるってことね。

おかしいなあ、きちんと写したつもりなのにーと思って見てみたら、
末尾に「,」が無かったデスあせあせ
ハイ、ケアレスミスでした。

これでやっと通るかなあと思ったら、今度はまた別のエラーでたショック

(続く)
posted by トモト | 01:01 | エラー | comments(0) | trackbacks(0) |はてなブックマーク - syntax errorはケアレスミス
Rails3レシピブック 190の技
Rails3レシピブック 190の技
ついにRails3対応版が出ました!!
WEB+DB PRESS Vol.58
WEB+DB PRESS Vol.58
Rails2系から3への移行時に知りたいことがひとまとまりになっててよかった!色々ググるよりこれを読む方が早い。
Rubyレシピブック 第3版 303の技
Rubyレシピブック 第3版 303の技
Rubyやるならこのリファレンスは必要。
Search this site