2016-08-03 111 views
0

右键Rails服务器时启动rails server命令红宝石终端不启动服务器后,并写入以下内容:错误在Windows上启动

C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:6:in `rescue in <top (required)>' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:2:in `<top (required)>' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `require' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `block (2 levels) in require' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `each' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `block in require' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `each' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `require' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:102:in `require' 
    from C:/Sites/testing/config/application.rb:7:in `<top (required)>' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:88:in `require' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:88:in `block in server' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:85:in `tap' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:85:in `server' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands/commands_tasks.rb:49:in `run_command!' 
    from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/railties-5.0.0/lib/rails/commands.rb:18:in `<top (required)>' 
    from bin/rails:4:in `require' 
    from bin/rails:4:in `<main>' 

当寻找答案类似的问题,我还没有找到任何工作解。我可以这样说:

  1. 应用程序在目录中创建,其中路径只有英文符号。
  2. 我试图用解决问题: gem cleanup bundle install
  3. 我试着使用启动服务器:bundle exec rails server
  4. 我试图删除gemfile中包含“问题”的宝石。
  5. 还尝试完全重新安装Ruby和Rails的所有宝石。

这一切都没有帮助,所以我会非常感谢在我的案例解决方案中工作!

P.S.我正在研究:Windows 8.1(64位),Ruby 2.3.0,Rails 5.0.0

+0

可能重复的[无法加载这样的文件 - sqlite3/sqlite3的_native(LoadError)在轨道上的红宝石](http://stackoverflow.com/questions/17643897/cannot-load-such-file-sqlite3-sqlite3 -native-loaderror-on-ruby-on-rails) –

回答

1

找到您的sqlite3 gemspec文件。一个例子是

`/usr/local/share`/gem/specifications/sqlite3-1.3.7.gemspec` 

的Windows:C:\Ruby21\lib\ruby\gems\2.1.0\specifications.

您应该与Rubygem路径和sqlite3的版本根据调整。编辑上述文件并查找以下行

s.require_paths=["lib"] 

改变它

s.require_paths= ["lib/sqlite3_native"] 

希望帮助!

+0

不幸的是,这也没有奏效。我尝试了你的解决方案,服务器正常启动,但它的主页(例如localhost:3000)表示如下: “无法加载'active_record/connection_adapters/sqlite3_adapter'。确保config/database.yml中的适配器有效。你使用'mysql','mysql2','postgresql'或'sqlite3'以外的适配器将必要的适配器gem添加到Gemfile中。“ – mishako

+0

确保你的Gemfile中有gem'sqlite3'。 –