Почему я не могу установить гем SQLite?

ruby-on-rails ruby sqlite gem

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

Автор: Eric Noob Источник Размещён: 07.08.2019 09:42

Ответы (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:04

12 плюса

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

sudo yum установить ruby-devel

Автор: hacintosh Размещён: 08.01.2009 02:55

9 плюса

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

Автор: Rahul Размещён: 06.01.2011 10:42

9 плюса

Когда у меня возникла эта проблема:

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 плюса

sudo apt-get install ruby-dev

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

Автор: Sacha Размещён: 18.12.2010 10:31

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:44

0 плюса

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

Автор: Tim Knight Размещён: 07.01.2009 05:53

0 плюса

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

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

После того, как вы установите его, если вы получите ошибки о том, что ваши гемы слишком старые «<1.3.1», когда вы пытаетесь запустить различные скрипты rails, например: скрипт / сервер или скрипт / консоль, Google «upgrade_rubygems» решит эту проблему. ..

НТН ...

Автор: cosmo lee Размещён: 15.05.2009 09:48

0 плюса

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

Автор: rapidror Размещён: 01.08.2011 05:38

0 плюса

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

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

Автор: Riding Rails Размещён: 21.12.2010 07:23

0 плюса

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

Автор: Omer Levi Hevroni Размещён: 13.02.2018 09:45

0 плюса

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

Автор: g4k13 Размещён: 15.04.2019 03:50

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
Вопросы из категории :
32x32