Почему я не могу установить SQLite gem?
Я пытаюсь установить SQLite gem на Fedora 9 Linux box с 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 просто повторяет то, что уже было отправлено на консоль. Как я могу установить этот камень?
13 ответов:
SQLite RubyGem на самом деле не Рубинкамень, это "CGem", IOW это написано в C. Это означает, что он должен быть скомпилирован и связан с интерпретатором Ruby при его установке и для того, чтобы сделать это нужны заголовочные файлы C для интерпретатора Ruby.
если вы сами скомпилируете Ruby, эти заголовочные файлы будут установлены автоматически, однако в системах RedHat-ish такие заголовочные файлы обычно упаковываются в отдельный пакет пакет, называется
<whatever>-dev. Так, в этом случае вам нужно будет установитьruby-devпакета и, возможно,libsqlite3-dev(Ubuntu) илиsqlite-devel(Fedora) пакет, а также.тем не менее, вам может быть лучше просто установить предварительно упакованную операционную систему
libsqlite3-rubyпакет, таким образом, все зависимости автоматически удовлетворяются.(Примечание: все имена пакетов, вытащенные из воздуха, могут отличаться в вашей системе.)
вам, вероятно,нужен пакет Ruby dev. Для Ubuntu нужно установить наследником пакетов ruby1.8-разработчика, которая включает в себя заголовок Ruby файлы. Быстрый google говорит, что пакет yum-это ruby-devel. так что запустите это:
sudo yum install ruby-devel
Я столкнулся с проблемой установки sqlite3-ruby gem На моем fedora 13 box. Это было исправлено после sudo yum install sqlite-devel
когда у меня была эта проблема:
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
на Ubuntu 9 и 10 попробуйте:
sudo apt-get install ruby-dev sudo apt-get install sqlite3-devзатем запустите
gem install sqlite3
У вас есть весь исходный код, необходимый для построения sqlite3-ruby? Перл пытается компилировать код C и не может найти заголовки. Вероятно, вы можете использовать Fedora rpm для sqlite3-ruby (я не использую fedora, но я уверен, что он существует), если вы предпочитаете отказаться от компиляции. Лично для ruby stuff я предпочитаю использовать gem, а не систему упаковки дистрибутива.
Я не очень знаком с Fedora, но в Ubuntu, когда вы устанавливаете пакеты, у вас есть apt-get, и вам нужно установить build-essentials, который включает gcc и другие инструменты компиляции для C. Я бы сказал, что это может быть ваша проблема, и вы посмотрите, как это можно установить либо с помощью RPM, либо apt-get на Fedora.
я исправил проблему на моем OLPC (Fedora 9), установив 'gcc' достаточно странно. Похоже, это должен был быть один из тех пакетов Дев, но нет.
кроме того, что касается других пакетов, суффикс "-девел", а не "игры", поэтому убедитесь, что вы получаете те, которые заканчиваются так: "Руби-роз", "веб-разработка"...
Как только вы это установите, если вы получаете ошибки о том, что ваши драгоценные камни слишком старые "
НТН...
запустите "sudo yum install sqlite-devel", а затем"gem install sqlite3". Была такая же проблема на моей Fedora 15.
У меня была эта же проблема...вместо того, чтобы украшать недостающие части, я использовал synaptic на unbuntu.
ключевой пакет для меня был libsqlite-ruby1.9 .1... Я задокументировал свой опыт (для справки) с этой ошибкой на : Sqlite3-gem-error-during-bundle-install
Comments