Ошибки Sqlite3 при переносе, ошибки nokogiri при установке пакета, конфликты драгоценных камней после миграции на Rails3 и некоторые слияния. (Mac) - PullRequest
3 голосов
/ 17 февраля 2011

Ух, Обновление, решено !!Я добавил строку в gemfiles, чтобы указать диапазон для моей mac-версии nokogiri, как сказано здесь: Заставить бандлер использовать разные гемы для разных платформ , если вы ищете Stefan.Похоже, виноват переход из разработки windows в mac.

Изучение того, как гемы работают на mac с rails3, потому что у меня проблемы с sqlite3 / nokogiri / gem / bundler с Ruby & Rails3 (на моем mac)...

Проблемы, возникающие сразу после обновления до Rails 3.0.4 и ruby ​​1.9.1.Кроме того, мой товарищ по команде занимается кодированием в Windows, а я на Mac.Мой друг только что обновил проект до Rails3, находясь на своем ПК с Windows, и теперь я клонировал его на свой Mac с помощью Git ... и получаю эти ошибки.

Когда я делаю " rakedb: migrate"в нашем проекте, я получаю эту ошибку красным цветом в оболочке:

* Вы запросили: sqlite3> = 0

В данный момент в пакете sqlite3 заблокированпри 1,3,3 .Попробуйте запустить bundle update sqlite3*

Я не знаю, что это значит или как ее решить.

Вот что комментируется в моем Gemfile:

gem 'rails','3.0.4'

драгоценный камень 'sqlite3'

Имеет много комментариев, например:

(# gem 'nokogiri'

(# gem'sqlite3-ruby',: require => 'sqlite3'

Мой Gemfile.lock имеет следующие, среди прочего:

nokogiri (1.4.4.1-x86-mingw32)

sqlite3 (1.3.3-x86-mingw32)

Но проблемы ...

IЯ подумал, что смогу решить эту проблему, выполнив "sudo port install sqlite3", и я также выполнил "обновление пакета sqlite3". Это, похоже, завершилось, но затем привело меня к другой ошибке:

*** Вызапросили: nokogiri ~> 1.4.2

В пакете в настоящее время заблокировано nokogiri на 1.4.4.1. Попробуйте запустить bundle update nokogiri***

Когда я выполняю "обновление пакета nokogiri", онокажется, не работает и снова дает мне ту же ошибку. Это шаг, который я не могу пройти.

Среди многих вещей в моем Gemfile.lock у меня есть такие: нокогири (1.4.4.1-х86-mingw32) sqlite3 (1.3.3-x86-mingw32)

И именно это, по-видимому, и вызывает ошибку.Я попытался перейти на (~> 1.0.0.0) и т. Д., Чтобы увидеть, будет ли работать менее конкретное число, но нет.

Я также попробовал эту конкретную установку nokogiri: sudo port install libxml2 libxslt sudo gem install nokogiri

Но даже после этого я вижу следующее: ** Выполнение db: падение рейка отменено!undefined метод []' for nil:NilClass /Users/Mike/Desktop/MikeFiles/betheduke2/BeTheDuke/**nokogiri**/ruby/1.9.1/gems/activerecord-3.0.4/lib/active_record/railties/databases.rake:126:in спасение в блоке (2 уровня) в '

Не уверен, что это значит.

Я также установил MacPorts, чтобы иметь возможность установить sqlite3, используя "sudo port install sqlite3"http://www.macports.org/install.php Невозможно установить sqlite3-ruby gem

Это, похоже, успешно прошло обширную установку sqlite3, но теперь это всезакончил, и когда я пытаюсь выполнить rake db: migrate, я все еще получаю последовательность ошибок sqlite3.Затем я делаю установку комплекта, похоже на успех, затем я получаю ту же старую ошибку nokogiri при повторении до остановки.

Я также вижу этот форум, https://github.com/tenderlove/nokogiri/issues/387. Это говорит о том, что это "проблема "связки" или "несоответствие версии гема", но я не уверен, что это так, что мне следует делать.Редактировать Gemfile?Должен ли я изменить это на версию, которая у меня есть?

Странно то, что в моем "списке драгоценных камней" у меня есть "sqlite3-ruby (1.2.5)", но не nokogiri.Затем, когда я закрываю Терминал и снова открываю и снова запускаю «rake db: migrate», он сначала выдает ошибку sqlite3, затем, когда я запускаю пакетную установку, затем возвращается к ошибке nokogiri.

В этом сообщении говорится, что, возможно, причина в том, что на моем компьютере слишком много версий sqlite3: Sqlite3, вызывающий проблемы при установке комплекта и установки gem

Вот что у меня есть: $ which -a sqlite3 / opt / local / bin / sqlite3 / usr / bin / sqlite3

$ which -a gem /Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/ gem /Users/Mike/.rvm/bin/gem / usr / bin / gem

$ which -a ruby/Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/ruby /Users/Mike/.rvm/bin/ruby / usr / bin / ruby ​​

Как вы думаете, эти дубликатыконфликтовать друг с другом?Если так, что я должен набрать, чтобы удалить правильный?

Кто-нибудь знает, что делать?Это «дурочка» в обновлении до Rails3?Это произошло сразу после слияния двух веток git (одна разработана на старых комбинациях Ruby / Rails2, а другая - на Ruby1.9.1 / Rails3.0.4.) Мы получили много ошибок слияния, хотя ни одна из более старых версийдва были затронуты (мы думаем, что это проблема конца строки между платформами Mac и PC), но не уверен.Может быть, что-то о слиянии и миграции влияет на эти драгоценные камни?

Также было полезно "Как установить sqlite3": Проблема с установкой sqlite3-ruby!

1 Ответ

0 голосов
/ 23 февраля 2012

На самом деле я не отвечаю, просто делаю ответ путем копирования + вставляю собственный ответ ОП, который он отредактировал в своем вопросе:

Ух ты, обнови, решил !!Я добавил строку в gemfiles, чтобы указать диапазон для моей mac-версии nokogiri, как сказано здесь: Заставьте упаковщик использовать разные гемы для разных платформ, если вы ищете Stefan.Похоже, что переход от Windows к разработке Mac был виновником.

...