-->

Sqlite3 gem for Rails 3.1

2019-02-18 11:51发布

问题:

I wanna create myApp using command

rails new myApp

but it gives an error:

Installing sqlite3 (1.3.4) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel' and check your shared library search path (the location where your sqlite3 shared library is located). * 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}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.8 --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib --enable-local --disable-local

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out An error occured while installing sqlite3 (1.3.4), and Bundler cannot continue. Make sure that gem install sqlite3 -v '1.3.4' succeeds before bundling.

What should I do? Thanks

回答1:

Make sure you have the development headers for SQLite3 installed.

For example:

On Ubuntu, you can use apt-get install libsqlite3-dev

On Mac with homebrew installed: brew install sqlite.



回答2:

I've found it pretty helpful to run this command whenever I install rails anew on Ubuntu. This normally takes care of the super common zlib and sqlite3 errors.

/usr/bin/apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev