Почему я не могу установить гем SQLite?
59198 просмотра
15 ответа
Я пытаюсь установить гем SQLite на Linux-коробку Fedora 9 с 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
просто повторяет то, что уже было отправлено на консоль. Как я могу установить этот драгоценный камень?
Ответы (15)
136 плюса
SQLite RubyGem на самом деле не является Ruby Gem, это « C Gem», поэтому он написан на C. Это означает, что его нужно скомпилировать и связать с интерпретатором Ruby при его установке и для этого ему нужно Заголовочные файлы C для интерпретатора Ruby.
Если вы сами скомпилируете Ruby, эти файлы заголовков будут установлены автоматически, однако в системах RedHat-ish такие файлы заголовков обычно упаковываются в отдельный пакет, называемый <whatever>-dev
. Таким образом, в этом случае вам нужно будет установить ruby-dev
пакет и, возможно, пакет libsqlite3-dev
(Ubuntu) или sqlite-devel
(Fedora).
Тем не менее, вам может быть лучше просто установить предварительно упакованный libsqlite3-ruby
пакет вашей операционной системы , чтобы все зависимости автоматически удовлетворялись.
(Примечание: все названия пакетов, извлеченные из воздуха, могут отличаться в вашей системе.)
Автор: Jörg W Mittag Размещён: 07.01.2009 06:0412 плюса
Возможно, вам нужен пакет ruby dev. Для Ubuntu вы должны установить ruby1.8-dev, который включает заголовочные файлы ruby. Быстрый Google говорит, что пакет yum является ruby-devel. так что запустите это:
Автор: hacintosh Размещён: 08.01.2009 02:55sudo yum установить ruby-devel
9 плюса
Я столкнулся с проблемой при установке sqlite3-ruby gem на свою коробку fedora 13. Это было исправлено после установки sudo yum sqlite-devel
Автор: Rahul Размещён: 06.01.2011 10:429 плюса
Когда у меня возникла эта проблема:
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
Автор: matiasmasca
Размещён: 12.05.2016 12:33
6 плюса
3 плюса
На Ubuntu 9 и 10 попробуйте:
sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev
Тогда беги
gem install sqlite3
Автор: ldemon
Размещён: 23.08.2011 09:19
2 плюса
Запустите следующее для Fedora OS:
yum install rubygem-sqlite3
Автор: Chase
Размещён: 20.07.2011 06:08
1 плюс
У вас есть весь исходный код, необходимый для сборки sqlite3-ruby? Gem пытается скомпилировать код на C и не может найти заголовки. Вероятно, вы можете использовать обороты fedora для sqlite3-ruby (я не использую fedora, но я уверен, что она существует), если вы предпочитаете отказаться от компиляции. Лично для рубиновых вещей я предпочитаю использовать гем, а не систему упаковки дистрибутива.
Автор: barneytron Размещён: 07.01.2009 05:440 плюса
Я не очень знаком с Fedora, но в Ubuntu, когда вы устанавливаете пакеты, у вас есть apt-get, и вы должны установить build-essentials, который включает gcc и другие инструменты компиляции для C. Я бы сказал, что это может быть вашей проблемой и вы узнаете, как это можно установить, используя RPM или apt-get в Fedora.
Автор: Tim Knight Размещён: 07.01.2009 05:530 плюса
Я исправил проблему на своем OLPC (Fedora 9), установив 'gcc' как ни странно. Кажется, это должен был быть один из тех пакетов разработчика, но нет.
Кроме того, в отношении других пакетов суффиксом является «-devel», а не «-dev», поэтому убедитесь, что вы правильно указали окончание: «ruby-devel», «sqlite-devel» ...
После того, как вы установите его, если вы получите ошибки о том, что ваши гемы слишком старые «<1.3.1», когда вы пытаетесь запустить различные скрипты rails, например: скрипт / сервер или скрипт / консоль, Google «upgrade_rubygems» решит эту проблему. ..
НТН ...
Автор: cosmo lee Размещён: 15.05.2009 09:480 плюса
Запустите «sudo yum install sqlite-devel», а затем «gem install sqlite3». Была такая же проблема на моем Fedora 15.
Автор: rapidror Размещён: 01.08.2011 05:380 плюса
У меня была та же самая проблема ... вместо того, чтобы вытащить недостающие части, я использовал synaptic в unbuntu.
Ключевым пакетом для меня был libsqlite-ruby1.9.1 ... Я задокументировал свой опыт (для справки) с этой ошибкой по адресу: Sqlite3-gem-error-while-bundle-install
Автор: Riding Rails Размещён: 21.12.2010 07:230 плюса
На alpine вам необходимо установить sqlite-dev
пакет.
0 плюса
Я столкнулся с этой ошибкой при запуске bundle install
после генерации приложенияact-rails в Fedora 29. Я смог определить подходящий пакет для разработки, запустив его dnf search sqlite3
, а затем установил его dnf install libsqlite3x-devel
. Это исправило это для меня.
0 плюса
Я также столкнулся с этой же проблемой, проблема в том, что ваша установка Linux требует, чтобы библиотеки разработки для SQLite3 были установлены для сборки гема.
Вот как я исправил проблему
Откройте свой терминал и выполните следующие команды
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
А затем попробуйте установить гем Sqlite3 снова с помощью этой команды
gem install sqlite3
Это все.
надеюсь, это поможет
Автор: Promise Preston Размещён: 07.08.2019 06:41Вопросы из категории :
- ruby-on-rails Как я могу "красиво" отформатировать вывод JSON в Ruby on Rails?
- ruby-on-rails Обновление хода сервера на Rails-приложении
- ruby-on-rails Изменения модели документа CouchDB?
- ruby-on-rails JRuby on Rails против Ruby on Rails, в чем разница?
- ruby-on-rails ruby / ruby ??on rails обнаружение утечек памяти
- ruby Вызов команд оболочки из Ruby
- ruby Почему в Ruby нет реального StringBuffer или StringIO?
- ruby Как создать случайный 10-значный номер в рубине?
- ruby Каков наилучший способ конвертировать массив в хеш в Ruby
- ruby Determine file type in Ruby
- sqlite Как вывести данные некоторых таблиц SQLite3?
- sqlite Как я могу объединить многие базы данных SQLite?
- sqlite Как узнать, уникален ли индекс SQLite? (С SQL)
- sqlite Легкая альтернатива Hibernate?
- sqlite Почему я не могу установить гем SQLite?
- gem Упаковка предварительно скомпилированных двоичных файлов внутри драгоценного камня
- gem Как перечислить драгоценные камни, необходимые приложению Rails
- gem gem install не может найти файл заголовка
- gem Как преобразовать имена цветов html в значения RGB в Ruby?