Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows相关的知识,希望对你有一定的参考价值。

Ruby 2.1.3p242 <2014-09-19修订版47630> [x64-mingw32] Rails 4.2.0.beta2

我在64位系统上运行Windows 8。我一直在使用c9(云托管的ubuntu)但是想在我的电脑上开始使用RubyMine IDE来使一切变得更快但是它会带来一些问题。

我已经尝试了几乎所有推荐的方式,包括这个:How do I install sqlite3 for Ruby on Windows?

但我仍然收到相同的错误消息。非常感谢您的帮助!如果您对我有任何疑问,请与我们联系。

运行$ rails s时出现完整错误消息:

C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `block in require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sqlite3-1.3.9-x64-mingw32/lib/sqlite3.rb:6:in `rescue in <top (required)>'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sqlite3-1.3.9-x64-mingw32/lib/sqlite3.rb:2:in `<top (required)>'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:76:in `require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:72:in `each'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:72:in `block in require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:61:in `each'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler/runtime.rb:61:in `require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.7.4/lib/bundler.rb:133:in `require'
    from C:/Sites/aynulhabib-habib-framework-aca42deddccd/config/application.rb:7:in `<top (required)>'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:78:in `require'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:78:in `block in server'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:75:in `tap'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:75:in `server'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/railties-4.2.0.beta2/lib/rails/commands.rb:17:in `<top (required)>'
    from C:/Sites/aynulhabib-habib-framework-aca42deddccd/bin/rails:8:in `require'
    from C:/Sites/aynulhabib-habib-framework-aca42deddccd/bin/rails:8:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

Process finished with exit code 1
答案

问题是二进制sqlite3 gem不包含Ruby 2.1.3的预编译版本

这在sqlite3-ruby邮件列表here中提到。

另一答案

幸运的是,您不必切换到ruby 2.0 经过无尽的尝试,这个问题有一个解决方案......

https://github.com/hwding/sqlite3-ruby-win


Steps

Pre

  • gem uninstall sqlite3 --all

Source

Build

  • 在提取的目录中运行命令行
  • 确保安装了C编译器并将其添加到PATH
  • gem install bundler
  • bundle install
  • rake native gem
  • 你会发现一个名为'pkg'的目录

Install

  • 输入dir'pkg'
  • gem install --local sqlite3-xxx.gem('xxx'是版本代码)

Check

  • irb
  • require 'sqlite3'
另一答案

在项目的文件夹中打开终端并执行:

捆绑更新sqlite3

Bunde Update看到了

我希望我帮助过你;)

编辑:

  • 我总是建议使用linux / mac作为ruby,因为有些宝石可能会有问题,因为用c编译错误
  • 总是使用bundle来管理你的宝石,它更容易*,你可以通过以下方式安装它: gem install bundler bundle install - 将在你的Gemfile安装所有宝石 最后一个bundler版本与ruby bellow 2.3不兼容,所以使用gem install bundler -v 1.16.4
另一答案

如果你从Sqlite download link提取“exe”和“dll”到Ruby的bin文件夹,仍然有这个问题。试试这个:

bundle update

gem uninstall sqlite3

如果在多个版本的sqlite3之间进行选择,请选择最后一个选项“所有版本”。在此输入最后一个号码

选择要卸载的gem: 1. sqlite3-1.3.13 2. sqlite3-1.3.13-x64-mingw32 3.所有版本 > 3。 。 如果删除此gem,则不会满足这些依赖项。 继续卸载? [YN] > y

gem install sqlite3 --platform=ruby

rails s

这应该工作。

如果以上内容适合您,请阅读此link以获取更多解释。

以上是关于Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows的主要内容,如果未能解决你的问题,请参考以下文章

Windows 中的 Ruby on Rails:安装 DevKit 时出错

ruby on rails on windows

如何在rails上安装ruby

如何快速正确的安装 Ruby,Rails 运行环境 · Ruby China

ruby on rails如何安装

Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows