Ошибка Sqlite3 после установки Rails 3 (бета 4) - PullRequest
4 голосов
/ 12 июня 2010

После установки Rails 3 я получаю следующую ошибку относительно Sqlite3 при попытке выполнить миграцию:

dlsym (0x1037e5f10, Init_sqlite3_native): символ не найден - /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.3.0/lib/sqlite3/sqlite3_native.bundle

Я использую Snow Leopard, если это имеет значение.

Ответы [ 4 ]

3 голосов
/ 13 ноября 2010

Я столкнулся с той же проблемой.Проблема в том, что ваш интерфейс sqlite-ruby не установлен должным образом в вашем снежном барсе.Чтобы установить это, используйте следующее: -

sudo gem install sqlite3-ruby

Но перед установкой этого убедитесь, что на вашем Mac установлен правильный gcc. Используйте следующие строки, чтобы убедиться, что: -
ok Прежде всего проверьтеесли установлено следующее: -

$gcc -v     

Если нет, то вам сначала нужно установить пакет xcode для разработчиков Mac на своего снежного барса.
Вы можете скачать, используя бесплатную регистрацию с этого сайта: - http://developer.apple.com/devcenter/mac

Для получения дополнительной информации загляните в мой пост: Как установить интерфейс ruby ​​для sqlite3 в Mac Snow Leopard?

Если вы столкнулись с проблемойпроблема даже после попытки, пожалуйста, дайте мне знать ошибку, с которой вы столкнулись.Потому что я столкнулся со всей ошибкой, прежде чем заставить моего снежного барса работать;).Так что я знаком с большинством ошибок и грубых ошибок, которые мы обычно совершаем;) !!

1 голос
/ 10 ноября 2010

Хм, похоже, что-то не правильно скомпилировано. Может быть, драгоценный камень был скомпилирован на более старой системе или предварительно обновлен до снежного барса? Может быть, двоичный файл sqlite является 64-разрядным, а собственное расширение ruby ​​- нет.

Я бы попробовал это:

  • Установить RVM (Или создать новый набор гемов, если вы его уже используете.)
  • Используя свежий набор гемов rvm, переустановите рельсы 3
  • Сделайте bundle install, чтобы загрузить все ваши драгоценные камни

Если проблема исчезнет, ​​вероятно, ваши библиотеки будут скомпилированы не одинаково. Это может произойти при обновлении до снежного барса с предыдущей версии Mac OS X. Обновление обновило бы бинарный файл sqlite, но не все гемы, которые вы скомпилировали самостоятельно, например привязки sqlite для ruby.

0 голосов
/ 27 июля 2010

Просто зайдите в GEMFILE внутри вашего проекта и закомментируйте драгоценные камни, которые вам не нужны.

0 голосов
/ 17 июля 2010

Я не уверен, как это сделать со Snow Leopard, но вам нужно установить пакет sqlite dev, libsqlite3-dev

Затем установить гем, sqlite3-ruby

...