MacRuby, ошибка при использовании Sequel

Я только что установил Sequel с помощью команды sudo macgem install sequel. Он говорит мне, что сиквел-3.18.0 успешно установлен.

Когда я запускаю xcode и запускаю новое приложение MacRuby, оно устанавливает цель для модульных тестов. . Я изменил stub_test.rb следующими двумя строками:

require "rubygems"
require "sequel"

При попытке запустить модульные тесты я получаю следующую ошибку:

/Users/.../macRuby Test/Tests/run_suite.rb:1:in `<main>': super: no superclass method `require' for Sequel:Class (NoMethodError)

Без двух операторов require тесты выполняются нормально.

Я попытался найти это в Google и нашел следующий билет на macruby.org:

Билет № 930 SIGABRT в MacRuby 0.7 с Sequel + SQLite3-Ruby gem [...] После исправления проблемы Kernel#require в Sequel я могу без проблем загрузить как Sequel, так и SQLite3. [...] Требуемые библиотеки: Sequel (исправлено для Kernel.require, вместо super в Sequel#self.require) и SQLite3-Ruby. [...]

Я нигде не могу найти ничего об этом патче, хотя...

Есть ли известная проблема? Что означает это сообщение об ошибке и как я могу заставить его работать?


person Vegar    schedule 02.12.2010    source источник


Ответы (4)


Какую версию MacRuby вы используете? Кроме того, вы используете 32-битный Mac?

В моей среде 64-битный Intel Mac с MacRuby trunk, я могу установить и потребовать продолжения.

$ /usr/local/bin/macruby -r rubygems -e "require 'sequel'; p 42"
42

Как сказал Элой, вместо этого лучше сообщать о проблемах MacRuby в наш список рассылки или в систему отслеживания заявок. http://www.macruby.org/contact-us.html

person lrz    schedule 03.12.2010
comment
Я использую Macruby 0.7 (последняя стабильная версия) на Intel Macbook Pro конца 2009 года. Буду пробовать последнюю сборку. - person Vegar; 03.12.2010
comment
Последняя сборка продвинула меня на шаг вперед, спасибо. Тем не менее, все еще не работает, но я думаю, что это проблема sqlite, а не проблема сиквела. - person Vegar; 03.12.2010
comment
Думаю, у меня был установлен неправильный sqlite-gem. После удаления sqlite3 и установки sqlite3-ruby все становится хорошо :-) - person Vegar; 03.12.2010

MacRuby (как и IronRuby) в настоящее время не реализует достаточно языка ruby ​​для работы с Sequel. Sequel тестируется на MRI (1.8 и 1.9), JRuby и Rubinius, так что вы можете попробовать один из них.

person Jeremy Evans    schedule 03.12.2010
comment
Я ищу удобный способ хранения данных в приложении Macruby, а не удобный интерпретатор, который будет запускать продолжение, поэтому я думаю, что мне нужно искать где-то еще... Жаль. Сиквел выглядит отлично! - person Vegar; 03.12.2010
comment
Я бы понизил голос, учитывая, что другие ответы указывают на то, что он работает на MacRuby, но я полагаю, вы бы знали, работает ли он / не работает. - person Phrogz; 05.12.2010
comment
Под работой я подразумеваю пройти все спецификации. Если macruby еще не реализовал правильный поиск метода суперкласса, он не будет идеально работать с Sequel. Меня не удивляет, что некоторые части Sequel работают в macruby. Некоторые части Sequel также работают в IronRuby. Но я бы не стал полагаться на поведение Sequel в текущей версии. - person Jeremy Evans; 06.12.2010

Я столкнулся с похожими проблемами и смог заставить его работать со следующей комбинацией :

MacRuby 0.8
sqlite3-ruby gem 1.3.2
sequel gem 3.18.0
OSX 10.6.5

Хитрость заключалась в удалении драгоценного камня sqlite3 и установке sqlite3-ruby.

person Stephen Petschulat    schedule 19.12.2010
comment
Эта комбинация позволяет мне требовать гем-сиквел, но как только я начинаю его использовать, я получаю ошибку сегментации... - person Vegar; 20.12.2010
comment
Вы удалили гем sqlite3? С помощью этой комбинации мне удалось создать базы данных, таблицы, запросы и т. д., но со старой жемчужиной произошел сбой. Вы также можете попробовать удалить кеш драгоценных камней в ~/.gem/. Изменить: неважно, только что увидел ваш ответ в другом ответе. - person Stephen Petschulat; 20.12.2010

Поскольку MacRuby все еще находится в активной разработке, я думаю, было бы лучше, если бы вы задали этот вопрос в списке рассылки MacRuby-devel. Там тоже есть люди, которые знают, как заставить Sequel работать на MacRuby (я знаю, что люди так и сделали).

person alloy    schedule 03.12.2010