Подтвердить что ты не робот

Почему я не могу установить драгоценный камень SQLite?

Я пытаюсь установить драгоценный камень SQLite на коробке Fedora 9 Linux с Ruby 1.8.6, Rails 2.2.2, gem 1.3 и sqlite-3.5.9. Вот команда, которую я запускаю, и ее результаты:

sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install sqlite3-ruby
can't find header files for ruby.

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out

gem_make.out просто повторяет то, что уже было отправлено на консоль. Как установить этот камень?

4b9b3361

Ответ 1

SQLite RubyGem на самом деле не RubyGem, это "CGem", IOW он написан на C. Это означает, что он должен быть скомпилирован и связан с интерпретатором Ruby при его установке и для этого файлы заголовков C для интерпретатора Ruby.

Если вы сами компилируете Ruby, эти файлы заголовков будут установлены автоматически, однако в системах RedHat-ish такие файлы заголовков обычно упаковываются в отдельный пакет под названием <whatever>-dev. Таким образом, в этом случае вам нужно будет установить пакет ruby-dev и, возможно, пакет libsqlite3-dev (Ubuntu) или sqlite-devel (Fedora).

Однако вам может быть лучше просто установить пакет с установленной упаковкой libsqlite3-ruby операционной системы, таким образом, все зависимости будут автоматически выполнены.

(Примечание: все имена пакетов, вытащенные из воздуха, могут отличаться в вашей системе.)

Ответ 2

Вероятно, вам нужен пакет ruby ​​dev. Для Ubuntu вам необходимо установить ruby1.8-dev, который включает файлы заголовков ruby. Быстрый google говорит, что пакет yum - это рубиновый. поэтому запустите это:

sudo yum install ruby-devel

Ответ 3

Я столкнулся с проблемой установки sqlite3-ruby gem на моем блоке fedora 13. Он был исправлен после sudo yum install sqlite-devel

Ответ 4

Когда у меня была эта проблема:

gem install sqlite3 -v '1.3.9'
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
    ERROR: Failed to build gem native extension.

Для меня работала установка " libsqlite3-dev" с помощью:

apt-get install libsqlite3-dev

Ответ 5

sudo apt-get install ruby-dev

Исправил это для меня.

Ответ 6

В Ubuntu 9 и 10 попробуйте:

sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev

Затем запустите

gem install sqlite3

Ответ 7

Выполните следующее для ОС Fedora:

yum install rubygem-sqlite3

Ответ 8

У вас есть весь исходный код, необходимый для сборки sqlite3-ruby? Gem пытается скомпилировать код C и не может найти заголовки. Вероятно, вы можете использовать генератор rpm для sqlite3-ruby (я не использую Fedora, но я уверен, что он существует), если вы предпочитаете отказываться от компиляции. Лично для рубинового материала я предпочитаю использовать драгоценный камень, а не систему дистрибуции.

Ответ 9

Я не очень хорошо знаком с Fedora, но в Ubuntu, когда вы устанавливаете пакеты, у вас есть apt-get, и вам нужно установить необходимые для сборки компоненты, которые включают gcc и другие инструменты компиляции для C. Я бы сказал, что это ваша проблема, и вы посмотрите, как это можно установить либо с помощью RPM, либо apt-get на Fedora.

Ответ 10

Я исправил проблему на моем OLPC (Fedora 9), установив "gcc" как ни странно. Похоже, что это был один из тех пакетов dev, но нет.

Кроме того, в отношении других пакетов суффикс имеет значение "-devel", а не "-dev", поэтому убедитесь, что вы вернетесь к ним: "ruby-devel", "sqlite-devel"...

После того, как вы установили это, если у вас возникли ошибки в том, что ваши драгоценные камни были слишком старыми "< 1.3.1" при попытке запуска различных сценариев рельсов, например: script/server или script/console, google "upgrade_rubygems", чтобы исправить эту проблему...

НТН...

Ответ 11

У меня была такая же самая точная проблема... вместо того, чтобы копировать недостающие части, я использовал синаптический метод unbuntu.

Ключевым пакетом для меня был libsqlite-ruby1.9.1... Я зарегистрировал свой опыт (для справки) с этой ошибкой по адресу: Sqlite3-gem-error-during-bundle-install

Ответ 12

Запустите "sudo yum install sqlite-devel", а затем "gem install sqlite3". Была такая же проблема на моей Fedora 15.

Ответ 13

На alpine вам нужно установить пакет sqlite-dev.

Ответ 14

Я столкнулся с этой ошибкой при запуске bundle install после генерации приложенияact-rails в Fedora 29. Я смог определить подходящий пакет разработки, запустив dnf search sqlite3, а затем установил его dnf install libsqlite3x-devel. Это исправило это для меня.