A-key function 大学生が始めるべきネットビジネス起業

大学生のうちに始めるべきネットビジネス・資格などを紹介してます。

rails sでサーバーが起動しない、そんなときの解決方法 sqlite3/sqlite3_native (LoadError)

Author:

費用:0円 時間:10分

さて以前、Ruby on Railsの解説を行ったわけですが、その続きのRailsのサーバーを起動しようとしたときのことです。

コマンドプロンプトにて、railsを生成してサーバーを起動しようと以下のコードを打ちました。

rails s

しかし、サーバーは起動されず、エラーが表示されました…。

%e5%95%8f%e9%a1%8c%e3%81%aeruby-s%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88

テキストにするとこんな感じです。

C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:7:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:7:in `rescue in <top (required)>'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:2:in `<top (required)>'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:91:in `require'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `each'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `block in require'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `each'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `require'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler.rb:106:in `require'
from C:/data/railbook/config/application.rb:7:in `<top (required)>'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:88:in `require'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:88:in `block in server'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:85:in `tap'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:85:in `server'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/railties-5.0.0.1/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

これはこまりました。

 

しかし解決策が見つかったので解説いたします。

sponsored link

解決策

C:\Ruby23-x64\lib\ruby\gems\2.3.0\specificationsにある、sqlite3-1.3.11-x64-mingw32.gemspecを開きましょう。

開くプログラムはテキストエディタならなんでもおkです。俺の場合はatomを使いましたが、メモ帳でも大丈夫だと思います。

そして、おそらく10行目に存在するだろう、

s.require_paths=["lib"]を編集していきます。

lib

libをlib/sqlite3_nativeに書き換えます。

つまり、

 

s.require_paths= ["lib/sqlite3_native"]

 

とするわけです。

これで上書き保存すればおkです。

もう一度、

rails s

と入力すると無事サーバーが起動するはずです!

rails-s-%e8%a7%a3%e6%b1%ba

これで3000ポートの閲覧が可能になります!

さあ、引き続き頑張っていきましょう!

参考・引用:http://stackoverflow.com/questions/17643897/cannot-load-such-file-sqlite3-sqlite3-native-loaderror-on-ruby-on-rails

 - サイト作成, PC, プログラミング , ,

adsen

adsen

Message

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

CAPTCHA


  関連記事