ハマってたのでメモっておきます。
CentOS5環境で rails4 アプリの開発をしていて gem 'sqlite3' を使っていたところでエラーが出ました。
なんだコレは、とコードを追いかけていたりしていたのですが、やっと原因がわかったのでメモ。
http://rubygems.org/gems/sqlite3 を見たら、
ΣΣ(゚д゚lll)ガガーン ! そりゃ動かないわけですね。あのコード追いかけていた時間は一体 orz
じゃあアップデートだ!と思ったんですが、CentOS-Base.repo から yum update しようとしても CentOS5 の場合 3.3.6-6 が最新なんですよね。もとい、rpm と yum が sqlite を使っている(依存している)らしく、下手にアップデートすると壊れるっぽい ^ ^;; ※ 実際壊してしまった方がいらっしゃった。こわいこわい CentOS 5系からrpmとyumを消してしまった話
こうなるとソースコードからビルドして別の場所に入れるしかないようですね。http://www.sqlite.org/download.html から tar ボールをダウンロードしてビルドします。
これで /usr ではなく /usr/local に入ったので、次は sqlite3 をオプション付きでインストールします。もはや bundler が使えないのが悲しいですね ...
これで、再度 rake db:drop db:create db:migrate したら動きました!同じハマり方をした方がいたら是非試してみてください!
それでは!
CentOS5環境で rails4 アプリの開発をしていて gem 'sqlite3' を使っていたところでエラーが出ました。
なんだコレは、とコードを追いかけていたりしていたのですが、やっと原因がわかったのでメモ。
http://rubygems.org/gems/sqlite3 を見たら、
Note that this module is only compatible with SQLite 3.6.16 or newer.との記載があったので、rpm -qa でバージョンを確認してみると、
ΣΣ(゚д゚lll)ガガーン ! そりゃ動かないわけですね。あのコード追いかけていた時間は一体 orz
じゃあアップデートだ!と思ったんですが、CentOS-Base.repo から yum update しようとしても CentOS5 の場合 3.3.6-6 が最新なんですよね。もとい、rpm と yum が sqlite を使っている(依存している)らしく、下手にアップデートすると壊れるっぽい ^ ^;; ※ 実際壊してしまった方がいらっしゃった。こわいこわい CentOS 5系からrpmとyumを消してしまった話
こうなるとソースコードからビルドして別の場所に入れるしかないようですね。http://www.sqlite.org/download.html から tar ボールをダウンロードしてビルドします。
これで /usr ではなく /usr/local に入ったので、次は sqlite3 をオプション付きでインストールします。もはや bundler が使えないのが悲しいですね ...
これで、再度 rake db:drop db:create db:migrate したら動きました!同じハマり方をした方がいたら是非試してみてください!
それでは!