首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gem install sqlite3-ruby在cygwin上失败

gem install sqlite3-ruby在cygwin上失败
EN

Stack Overflow用户
提问于 2013-07-30 12:09:00
回答 3查看 1.4K关注 0票数 2

我试图在cygwin上安装ruby on rails,但在创建测试应用程序时遇到了障碍,例如,

代码语言:javascript
复制
rails new my_test_app

看起来我的安装(ruby 1.9.3p429 (2013-05-15) [i386-cygwin], rails 3.2.13, gem 2.0.6, rake 10.1.0)中缺少了-> sqlite3-ruby。现在找不到头文件(sqlite3.h),并且我无法指定gem能够理解的配置选项。有谁能帮帮我吗?

代码语言:javascript
复制
$ rails new test_ror_app1
      create
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
      create  app/assets/images/rails.png
      create  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/views/layouts/application.html.erb
      create  app/mailers/.gitkeep
      create  app/models/.gitkeep
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/secret_token.rb
      create  config/initializers/session_store.rb
      create  config/initializers/wrap_parameters.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  lib/assets
      create  lib/assets/.gitkeep
      create  log
      create  log/.gitkeep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/favicon.ico
      create  public/index.html
      create  public/robots.txt
      create  script
      create  script/rails
      create  test/fixtures
      create  test/fixtures/.gitkeep
      create  test/functional
      create  test/functional/.gitkeep
      create  test/integration
      create  test/integration/.gitkeep
      create  test/unit
      create  test/unit/.gitkeep
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.gitkeep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.gitkeep
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
         run  bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.0)
Using i18n (0.6.1)
Using multi_json (1.7.7)
Using activesupport (3.2.13)
Using builder (3.0.4)
Using activemodel (3.2.13)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.5)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.3)
Using tilt (1.4.1)
Using sprockets (2.2.2)
Using actionpack (3.2.13)
Using mime-types (1.23)
Using polyglot (0.3.3)
Using treetop (1.4.14)
Using mail (2.5.4)
Using actionmailer (3.2.13)
Using arel (3.0.2)
Using tzinfo (0.3.37)
Using activerecord (3.2.13)
Using activeresource (3.2.13)
Using bundler (1.3.5)
Using coffee-script-source (1.6.3)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.3)
Using json (1.8.0)
Using rdoc (3.12.2)
Using thor (0.18.1)
Using railties (3.2.13)
Using coffee-rails (3.2.2)
Using jquery-rails (3.0.4)
Using rails (3.2.13)
Using sass (3.2.10)
Using sass-rails (3.2.6)
Installing sqlite3 (1.3.7)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension
.

    /usr/bin/ruby.exe extconf.rb
checking for sqlite3.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/
        --enable-local
        --disable-local
/usr/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an
executable file. (RuntimeError)
You have to install development tools first.
        from /usr/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
        from /usr/lib/ruby/1.9.1/mkmf.rb:970:in `block in find_header'
        from /usr/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
        from /usr/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
        from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /usr/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
        from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /usr/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
        from /usr/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
        from /usr/lib/ruby/1.9.1/mkmf.rb:969:in `find_header'
        from extconf.rb:34:in `<main>'


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.7 f
or inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.7/ext/sqlite3/gem_ma
ke.out
An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue.

Make sure that `gem install sqlite3 -v '1.3.7'` succeeds before bundling.

这已经成功完成,如下所示:

代码语言:javascript
复制
$ gem install sqlite3 -v '1.3.7'
Successfully installed sqlite3-1.3.7-x86-mswin32-60
1 gem installed

当我重试创建新的测试应用程序时,与上面(第一个)相同的错误重复出现。

请帮我解决这个问题。蒂娅。

更新1:/usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lcrypt:mkmf.log揭示了这一点

EN

回答 3

Stack Overflow用户

发布于 2016-01-13 23:47:08

如果您是通过Rubygem安装的,那么终端上的输出可能会抱怨找不到sqlite3.h。这是误导性的。如果您检查mkmf.log ,您可能会发现实际上缺少一个完全不同的头文件。通常,头文件可以通过相应的Cygwin包安装。在我的例子中,我确保安装了以下每一个:

  • libcrypt-devel
  • libsqlite3-devel
  • libgmp-devel
票数 2
EN

Stack Overflow用户

发布于 2013-07-31 10:45:51

通过以下两个步骤修复:

a) cd至/usr/lib (libcrypt.a和libcrypt.dll.a文件所在的位置)

b)创建libcrypt.a的本地副本并将其重命名为libcrypt.a

Run gem install sqlite3

Run rails new my_app1

到目前为止..。

票数 0
EN

Stack Overflow用户

发布于 2014-08-19 15:01:56

问题是,gcc找不到'-lcrypt‘标志中提到的"crypt“库。从cygwin包安装"libcrypt-devel“包...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17938144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档