Ух, Обновление, решено !!Я добавил строку в 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!