在设置Ruby on Rails时如何安装SQLite3?

时间:2019-03-17 15:22:27

标签: ruby-on-rails ruby sqlite rubygems

我是编程新手,正在尝试为Windows 10安装Ruby on Rails。

我已经尝试过几次运行gem install bundler,但是SQLite3总是存在错误。

命令提示符说要从http://www.sqlite.org/安装SQLite3,但我不知道将它放在目录中的什么位置。

我看着mkmf.log,但我不明白它在告诉我什么。

当我在RailsInstaller的“ bin”文件夹中查找sql​​ite3.def时,出现了sqlite 3.dll sqlite3应用程序和sqlite3_ruby(文件和批处理文件)。

如果任何人都知道可能出了什么问题以及如何解决它,我将非常感谢您的帮助,此问题在在线使用指南中永远不会发生。

非常感谢

命令提示符消息:

  

在安装sqlite3(1.4.0)时发生错误,并且Bundler无法   继续。捆绑之前,请确保gem install sqlite3 -v '1.4.0' --source 'https://rubygems.org/'成功。

     

在Gemfile中:sqlite3

     

C:\ Sites \ test_app> gem安装sqlite3 -v 1.4.0临时增强   包含DevKit的路径...构建本机扩展。这可能需要   一段时间...错误:安装sqlite3时出错:           错误:无法构建gem本机扩展。

current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0/ext/sqlite3
     

C:/RailsInstaller/Ruby2.3.​​3/bin/ruby.exe -r   ./siteconf20190317-7152-n0tljg.rb extconf.rb正在检查sqlite3.h ...   没有sqlite3.h丢失。从http://www.sqlite.org/安装SQLite3   第一。    * extconf.rb失败* 由于某种原因(可能缺少必要的库和/或头文件)而无法创建Makefile。校验   有关更多详细信息,请参见mkmf.log文件。您可能需要配置   选项。

     

提供的配置选项:           --with-opt-dir           --without-opt-dir           --with-opt-include           --without-opt-include = $ {opt-dir} / include           --with-opt-lib           --without-opt-lib = $ {opt-dir} / lib           --with-make-prog           --with-make-prog           --srcdir =。           --curdir           --ruby = C:/RailsInstaller/Ruby2.3.​​3/bin / $(RUBY_BASE_NAME)           --with-sqlcipher           --without-sqlcipher           --with-sqlite3-config           --without-sqlite3-config           --with-pkg-config           --without-pkg-config           --with-sqlcipher           --without-sqlcipher           --with-sqlite3-dir           --without-sqlite3-dir           --with-sqlite3-include           --without-sqlite3-include = $ {sqlite3-dir} / include           --with-sqlite3-lib           --without-sqlite3-lib = $ {sqlite3-dir} / lib

     

要查看此扩展为何无法编译,请检查mkmf.log   可以在这里找到:

     

C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/mkmf.log

     

extconf失败,退出代码1

     

宝石文件将继续安装在   C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0 for   检查。结果记录到   C:/RailsInstaller/Ruby2.3.​​3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/gem_make.ou

3 个答案:

答案 0 :(得分:1)

Rails尝试自动安装最新版本的sqlite3 gem(1.4),但该新版本尚不适用于Rails。指定一个像这样的版本:

宝石文件

gem 'sqlite3', '< 1.4'

然后重新运行bundle install

答案 1 :(得分:0)

我有同样的问题。打开项目文件夹中的Gemfile,然后将行gem'sqlite3'更改为gem'sqlite3',如所建议的'<1.4'。

来自 gem 'sqlite3'gem 'sqlite3', '< 1.4'

答案 2 :(得分:0)

  1. 不要在 Windows 上运行你的代码
  2. 如果确实需要,请使用 gem 1.3.13
gem install sqlite3 -v 1.3.13

这不会为 Windows 安装本机扩展。因此不会导致任何错误。