проблема с драгоценными камнями

Я пытаюсь запустить мой ruby ​​на рельсы, но я не могу установить sqlite3-ruby gem. При запуске я получаю эту ошибку:

Извлечение: sqlite-ruby-2.2.3.gem (100%) Создание собственных расширений. Это может занять некоторое время ... ОШИБКА: Ошибка установки sqlite-ruby: ОШИБКА: не удалось создать собственное расширение gem.

/usr/bin/ruby1.8 extconf.rb проверяет main () в -lsqlite ... нет проверки sqlite.h ... нет * extconf.rb не удалось * Не удалось создать Makefile по какой-то причине, вероятно, не хватает необходимых библиотек и / или заголовков. Проверьте файл mkmf.log для более подробной информации. Вам могут потребоваться параметры конфигурации.

какие-нибудь решения?

3
задан 19 January 2011 в 20:39

2 ответа

Убедитесь, что у вас установлен sqlite3 v3.6.16 или выше. Для компиляции sqlite3-ruby Gem требуется 3.6.16 или выше.

Вы можете проверить версию вашего sqlite3, сначала запустив which sqlite3, а затем /path/to/sqlite3 -version.

0
ответ дан 19 January 2011 в 20:39

Хорошо, я думаю, что должен что-то опубликовать, потому что говорю людям, что они не правы.

В случае с sqlite-ruby libsqlite3-dev должен это сделать.

Для ясности псевдопакет ruby-full устанавливает только все «компоненты» практически для всех вариантов установки ruby. Это абсолютно ничего не делает для удовлетворения зависимостей для драгоценных камней, содержащих бинарные компоненты.

Чтобы узнать, какие пакеты разработчика требуются для гемов, вы можете время от времени проверять спецификацию гема или страницу на rubyforge. Если он жалуется на то, что определенный файл не найден, небольшое творческое поиск в Google (слово часто помогает) поможет вам найти требуемый пакет -dev.

Другим полезным сайтом для подобных вещей является поиск пакетов в Ubuntu: http://packages.ubuntu.com/search?mode=exactfilename&suite=intrepid&section=all&arch=any& searchon = contents & amp; Keywords = sqlite.h

Еще один момент, на который стоит обратить внимание, - это то, что Ubuntu на этой стороне использует Debian и пытается предварительно собрать пакеты под названием ruby-gemname или аналогичные в aptitude для упрощения управления пакетами и отслеживать изменения драгоценных камней. Это нарушает некоторые требования в некоторых скриптах ruby. У меня есть довольно разглагольствования на эту тему, но я отвлекся.

Если вы устанавливаете libsqlite3-dev и он все еще не работает - убедитесь, что вы используете правильный архитектурный гем (это не обязательно автоматически, возможно, будущая функция будет отличным разработчиком гемов).

Если у вас установлена ​​эта библиотека и вы уверены, что архитектура драгоценного камня правильная, опубликуйте файл, на котором он висит, и я посмотрю, что я могу откопать.

0
ответ дан 19 January 2011 в 20:39

Другие вопросы по тегам:

Похожие вопросы: