Ошибка при попытке запустить сервер rails - PullRequest
1 голос
/ 31 декабря 2010

Я пытаюсь запустить базовое приложение Rails на моем Mac OS X 10.6.5. Я создал новое приложение под названием demo (rails new demo), затем вошел в каталог demo и попытался запустить приложение с сервером rails. Вот сообщение об ошибке, которое я получил: "/Users/dpetrovi/.gem/ruby/1.8/gems/sqlite3-ruby-1.3.2/lib/sqlite3/sqlite3_native.bundle: [BUG] Ошибка сегментации ruby 1.8.7 (2010-12-23, уровень обновления 330) [i686-darwin10]

Прервать ловушку "

Я проверил установку пакета в демонстрационной папке:

Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.3) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.3) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.6) 
Using tzinfo (0.3.23) 
Using actionpack (3.0.3) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.13) 
Using actionmailer (3.0.3) 
Using arel (2.0.6) 
Using activerecord (3.0.3) 
Using activeresource (3.0.3) 
Using bundler (1.0.7) 
Using thor (0.14.6) 
Using railties (3.0.3) 
Using rails (3.0.3) 
Using sqlite3-ruby (1.3.2) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Ruby, RubyGems и sqlite3 были установлены с использованием MacPorts. Затем я использовал gem, чтобы попытаться установить интерфейс sqlite3-ruby. (sudo gem установить sqlite3-ruby). Вот где я впервые заметил, что что-то может быть выключено:

Successfully installed sqlite3-ruby-1.3.2
1 gem installed
Installing ri documentation for sqlite3-ruby-1.3.2...

No definition for libversion

Enclosing class/module 'mSqlite3' for class Statement not known
Installing RDoc documentation for sqlite3-ruby-1.3.2...

No definition for libversion

Enclosing class/module 'mSqlite3' for class Statement not known

Несколько месяцев назад у меня в системе работали рельсы, поэтому я подумал, что, может быть, у меня есть несколько дубликатов, и он пытался использовать неправильный. Я побежал: for cmd in ruby irb gem rake; do which $cmd; done и получил:

/opt/local/bin/ruby
/opt/local/bin/irb
/opt/local/bin/gem
/opt/local/bin/rake

Проверка, где sqlite3 также выводит меня: "/ opt / local / bin / sqlite3", поэтому все они, кажется, находятся в нужном месте. Очевидно, что / opt / local / bin находится в моем системном пути.

Если я проверяю gems-сервер, он показывает, что я установил sqlite3-ruby 1.3.2 gem. Не уверены, в чем может быть проблема?

Я использую ruby ​​1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10]. Macports утверждает, что это последнее (хотя я видел 1.9.1)

Еще одна вещь - в irb я попытался проверить, с какой версией sqlite3 связан мой sqlite3-ruby, но я могу получить только это:

:irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'sqlite3'
/Users/dpetrovi/.gem/ruby/1.8/gems/sqlite3-ruby-1.3.2/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10]

Abort trap

Есть предложения? Надеюсь, я упустил что-то очевидное. Спасибо

Ответы [ 3 ]

0 голосов
/ 31 декабря 2010

Обязательно используйте RVM, как указано выше, а затем попробуйте это в каталоге вашего приложения:

rm -rf .bundle && bundle install

0 голосов
/ 12 января 2011

У меня была такая же проблема.вот как я решил это.

удалил гем sqlite3-ruby сделал комплектную установку переустановил гем заново создал приложение rails

теперь webrick работает нормально

0 голосов
/ 31 декабря 2010

Вы недавно обновились до Snow Leopard? Если это так, вам необходимо переустановить MacPorts и все порты, установленные с ним.

Я рекомендую использовать RVM вместо установленного MacPorts ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...