我无法在rails 3.2 Windows上安装sqlite3

时间:2013-03-24 17:12:02

标签: ruby-on-rails sqlite

这是我的错误: C:> gem install sqlite3-ruby 暂时增强PATH以包括DevKit ...... 构建原生扩展。这可能需要一段时间...... 错误:安装sqlite3-ruby时出错:         错误:无法构建gem原生扩展。

C:/Ruby200-x64/bin/ruby.exe extconf.rb

检查sqlite3.h ... * extconf.rb失败* 由于某些原因无法创建Makefile,可能缺少必要的 库和/或标题。检查mkmf.log文件以获取更多详细信息。你可以 需要配置选项。

提供配置选项:         --with-OPT-DIR         --without-OPT-DIR         --with-OPT-包括         --without-OPT-包括= $ {停用DIR} /包括         --with-OPT-LIB         --without-OPT-LIB = $ {选择-DIR} / lib目录         --with-MAKE-PROG         --without-MAKE-PROG         --srcdir =。         --curdir         --ruby = C:/ Ruby200-X64 /斌/红宝石         --with-sqlite3的-DIR         --without-sqlite3的-DIR         --with-sqlite3的,包括         --without-sqlite3的-包括= $ {sqlite3的-DIR} /包括         --with-sqlite3的-LIB         --without-sqlite3的-LIB = $ {sqlite3的-DIR} /         --enable-地方          - 禁用本地 C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:431:在try_do': The compiler failed to ge nerate an executable file. (RuntimeError) You have to install development tools first. from C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:562:in try_cpp'中         来自C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:1086:在block in find_header ' from C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:892:in块中的checking_for “         来自C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:337:in block (2 levels) in p ostpone' from C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:307:in open'         来自C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:337:in block in postpone' from C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:307:in open'         来自C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:333:in postpone' from C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:891:in checking_for'         来自C:/Ruby200-x64/lib/ruby/2.0.0/mkmf.rb:1085:find_header' from extconf.rb:34:in'

Gem文件将保留在C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/sqlit中 e3-1.3.7进行检查。 结果记录到C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/ext/sqli TE3 / gem_make.out

的Gemfile:          来源'https://rubygems.org'

     gem 'rails'
     gem 'jquery-rails'
     gem 'bootstrap-sass', '2.0.0'
     gem 'bcrypt-ruby'
     gem 'faker', '1.0.1'
     gem 'will_paginate'
     gem 'bootstrap-will_paginate', '0.0.5'

     group :development, :test do
     gem 'sqlite3', '1.3.5'
     gem 'rspec-rails', '2.12.2'
     gem 'guard-rspec', '0.5.5'
    end

    # Gems used only for assets and not required
    # in production environments by default.
    group :assets do
      gem 'sass-rails', '3.2.4'
      gem 'coffee-rails', '3.2.2'
      gem 'uglifier', '1.2.3'
    end

    group :test do
       gem 'capybara', '1.1.2'
       gem 'factory_girl_rails', '1.4.0'
        gem 'cucumber-rails', '1.2.1', require: false
       gem 'database_cleaner', '0.7.0'
       gem 'rb-fsevent', '0.4.3.1', :require => false
        gem 'growl', '1.0.3'
       gem 'guard-spork', '0.3.2'
        gem 'spork', '0.9.2'
       gem 'launchy', '2.1.0'
       gem 'ffi', '1.1.0'
     end

我安装了DevKit。我正在运行ruby 2.0.0。在Ruby 1.9.3上,一切都运行得很好。任何人都可以帮助我吗?

我尝试过的事情:

     1. bundle install (I do not know why it just skips sqlite3)
     2. gem install sqlite3
     3. gem install sqlite3-ruby
     4. I've also included the -- --with-sqlite3-dir=/usr/local/lib on each of those lines

当我进行捆绑安装时,它会跳过sqlite3 gem并正常安装所有其他gem。

我已经安装了devkit,我去了sqlite3网站,得到了.dll for windows和exe文件,并把它放在我的ruby2.0 bin文件夹中。

编辑:此外,当我运行rails服务器并加载locahost:3000时,它告诉我运行gem install activerecord-sqlite3-adapter

当我运行它时,它说没有这样的gem并将它包含在我的gemfile中,但它包含在我的gemfile中。

4 个答案:

答案 0 :(得分:0)

我认为你可以使用railsinstaller http://railsinstaller.org/

并重新安装你的ruby和rails它对我有用

答案 1 :(得分:0)

  

我认为您可以使用http://railsinstaller.org/

中的railsinstaller      

并重新安装你的ruby和rails它对我有用

但这不是Ruby 2.0

答案 2 :(得分:0)

在Windows上为Ruby 2.0安装sqlite3 gem时出现问题(ABI破坏)。幸运的是,有人制作了一个允许你安装sqlite3的软件包: https://groups.google.com/forum/?fromgroups=#!topic/rubyinstaller/gedIaMryCFQ

另见: Getting Ruby on Rails environment working and installing sqlite3

答案 3 :(得分:0)

更改为rails 3.0.9。

我只知道如何为新应用更改:

rails _3.0.9_ new APP_NAME