Почему я не могу установить драгоценный камень 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
просто повторяет то, что уже было отправлено на консоль. Как установить этот камень?
Ответы
Ответ 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
. Это исправило это для меня.