Я пытаюсь установить гем 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 просто повторяет то, что уже было отправлено на консоль. Как я могу установить этот драгоценный камень?
Ключ к ошибке - «не удается найти файлы заголовков для ruby» ... это означает, что вам понадобится пакет разработки для ruby.
@ salt.racer / ЛЮБОЙ ЗДЕСЬ - не могли бы вы опубликовать, какой пакет (в основном) требуется.





У вас есть весь исходный код, необходимый для сборки sqlite3-ruby? Gem пытается скомпилировать код на C и не может найти заголовки. Вы, вероятно, можете использовать Fedora rpm для sqlite3-ruby (я не использую Fedora, но я уверен, что она существует), если вы предпочитаете отказаться от компиляции. Лично для рубиновых вещей я предпочитаю использовать gem, а не систему упаковки дистрибутива.
Обращение Fedora для заголовков mysql - это что-то вроде mysql-dev, поэтому правильным rpm sqlite, скорее всего, будет sqlite3-dev.
Я использую FreeBSD 7.1 прямо сейчас, и у меня установлен порт sqlite3-3.6.4, который предоставляет все необходимое, если я правильно помню. Я сам пытаюсь проверить Rails 2.2.2. Удачи, Эрик!
Я не очень знаком с Fedora, но в Ubuntu, когда вы устанавливаете пакеты, у вас есть apt-get, и вам нужно установить необходимое для сборки, которое включает gcc и другие инструменты компиляции для C.Я бы сказал, что это может быть вашей проблемой , и вы узнаете, как это можно установить с помощью RPM или apt-get в Fedora.
Это неприятно для Fedora, но проблема НЕ в этом. Это проблема libsqlite3-ruby.
SQLite RubyGem на самом деле не РубинGem, это "CGem", IOW он написан на C. Это означает, что он должен быть скомпилирован и связан с интерпретатором Ruby при его установке, а для выполнения что ему нужен заголовок C файлы для интерпретатора Ruby.
Если вы скомпилируете Ruby самостоятельно, эти файлы заголовков будут установлены автоматически, однако в системах типа RedHat такие файлы заголовков обычно упаковываются в отдельный пакет, называемый <whatever>-dev. Итак, в этом случае вам нужно будет установить пакет ruby-dev и, возможно, также пакет libsqlite3-dev (Ubuntu) или sqlite-devel (Fedora).
Однако вам может быть лучше просто установить предварительно упакованный пакет libsqlite3-ruby вашей операционной системы, чтобы все зависимости были удовлетворены автоматически.
(Примечание: все имена пакетов, извлеченные из воздуха, могут отличаться в вашей системе.)
Черт, ТАК круто, это на самом деле правильный ответ ... Я потерялся, пытаясь установить SqlLite, и проблема заключалась в создании новых сообщений об ошибках каждую минуту. Теперь, если спрашивающий просто отметит это как правильный ответ, мы будем в деле.
В Ubuntu я сделал apt-get install libsqlite3-ruby, и он отлично сработал. Конечно, под root ...
Или, если вы хотите установить гем, вам нужно будет apt-get install ruby-dev, как говорит Йорг.
И снова Йорг, твоя информация мне пригодилась, чтобы облегчить мне обучение. Еще раз спасибо.
Великолепно - это следует задокументировать в FAQ по Ruby on Rails!
Вам, вероятно, понадобится пакет ruby dev. Для Ubuntu вам необходимо установить ruby1.8-dev, который включает файлы заголовков ruby. Быстрый гугл говорит, что пакет yum является ruby-devel. так что запустите это:
sudo yum install ruby-devel
Я исправил проблему на своем OLPC (Fedora 9), установив, как ни странно, gcc. Похоже, это должен был быть один из тех пакетов разработки, но нет.
Кроме того, что касается других пакетов, суффикс - «-devel», а не «-dev», поэтому убедитесь, что вы правильно поняли окончание: «ruby-devel», «sqlite-devel» ...
После того, как вы его установили, если вы получите ошибку о том, что ваши драгоценные камни слишком старые "<1.3.1", когда вы пытаетесь запустить различные сценарии rails, например: сценарий / сервер или сценарий / консоль, Google "upgrade_rubygems", чтобы исправить эту проблему. ..
HTH ...
sudo apt-get install ruby-dev
Исправил для меня.
Этот совет исправил это для меня. Спасибо.
У меня была такая же проблема ... вместо того, чтобы драгоценить недостающие части, я использовал synaptic на unbuntu.
Ключевым пакетом для меня был libsqlite-ruby1.9.1 ... Я задокументировал свой опыт (для справки) с этой ошибкой по адресу: Sqlite3-гем-ошибка во время установки пакета
У меня возникла проблема с установкой драгоценного камня sqlite3-ruby на мою коробку fedora 13. Исправлено после sudo yum установить sqlite-devel
Выполните следующее для ОС Fedora:
yum install rubygem-sqlite3
Это сработало, но после "sudo yum install sqlite-devel"
да, но это зависит от ruby-2.4 и не использует rbenv-установленный ruby
Запустите «sudo yum install sqlite-devel», а затем «gem install sqlite3». Была такая же проблема на моей Fedora 15.
В Ubuntu 9 и 10 попробуйте:
sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev
Тогда беги
gem install sqlite3
Когда у меня была эта проблема:
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
Это исправило это для меня! +1
Да, это был ответ для меня
На alpine вам необходимо установить пакет sqlite-dev.
Я столкнулся с этой ошибкой при запуске bundle install после создания приложения response-rails в Fedora 29. Я смог определить подходящий пакет разработки, запустив dnf search sqlite3, а затем установив его dnf install libsqlite3x-devel. Это исправило это для меня.
Я также столкнулся с этой же проблемой, проблема в том, что ваша установка Linux требует, чтобы были установлены библиотеки разработки для SQLite3, чтобы построить гем.
Вот как я решил проблему
Откройте свой терминал и выполните следующие команды
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
А затем попробуйте снова установить гем Sqlite3, используя эту команду
gem install sqlite3
Это все.
надеюсь, это поможет
У меня тоже постоянно возникала эта ошибка !!