Sqlite3 гем для Rails 3.1 - PullRequest
       2

Sqlite3 гем для Rails 3.1

4 голосов
/ 15 ноября 2011

Я хочу создать myApp с помощью команды

rails new myApp

, но выдает ошибку:

Установка sqlite3 (1.3.4) с собственными расширениями Gem :: Installer :: ExtensionBuildError: ОШИБКА: не удалось создать собственное расширение gem.

/ usr / bin / ruby1.8 extconf.rb проверяет sqlite3.h ... нет sqlite3.ч отсутствует.Попробуйте 'port install sqlite3 + universal' или 'yum install sqlite3-devel' и проверьте путь поиска в вашей общей библиотеке (место, где находится ваша общая библиотека 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 --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-файлы останутся установленными в / usr /lib / ruby ​​/ gems / 1.8 / gems / sqlite3-1.3.4 для проверки.Результаты заносятся в /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out Произошла ошибка при установке sqlite3 (1.3.4), и Bundler не может продолжить работу.Убедитесь, что gem install sqlite3 -v '1.3.4' успешно завершен, прежде чем связывать.

Что мне делать?Спасибо

Ответы [ 3 ]

12 голосов
/ 15 ноября 2011

Убедитесь, что у вас установлены заголовки разработки для SQLite3.

Например:

В Ubuntu вы можете использовать apt-get install libsqlite3-dev

На Mac с установленным homebrew:brew install sqlite.

3 голосов
/ 15 ноября 2011

Мне показалось довольно полезным запускать эту команду всякий раз, когда я заново устанавливаю rails на Ubuntu. Обычно это устраняет супер распространенные ошибки zlib и sqlite3.

/ usr / bin / apt-get установить необходимый сборочный бизон openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf -dev ncurses-dev

1 голос
/ 22 февраля 2019

У меня была такая же проблема, но в Windows.На данный момент я нашел только два решения: 1 * После неудачного создания проекта, войдите в его папку и измените Gemfile.Измените строку
gem 'sqlite3', '1.3.11' одним из следующих способов:

gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby"

gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby", branch: "add-gemspec"

gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"

и еще раз введите команду bundle install для этого проекта

Второе решение, которое я нашел, это загрузка гемаот https://rubygems.org/ и сохраняя его локально для установки из файла, сначала нужно установить mingw (но только для Windows)

C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn
C:\Sites>gem install --local C:\sqlite3-1.4.0.gem

Я пробовал некоторые другие решения, но эти два былиу меня работали только те.

https://mycodeissuesandfixes.blogspot.com/2019/02/ruby-on-rails-issue-about-sqlite-3-gem.html Это другие исправления, но я не знаю, помогут ли они вам в Linux.Надеюсь, поможет!!Я пытался в течение 5 дней, пока я не нашел что-то, что работает с этой ошибкой sqlite 3 gem

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...