尝试运行rails服务器时出错

时间:2010-12-31 19:51:57

标签: ruby-on-rails

我正在尝试在Mac OS X 10.6.5上运行基本的Rails应用程序。我创建了一个名为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 patchlevel 330)[i686-darwin10]

中止陷阱“

我在demo文件夹中检查了bundle install:

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.

使用MacPorts安装Ruby,RubyGems和sqlite3。然后我用gem来尝试安装sqlite3-ruby接口。 (sudo gem install 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-ruby绑定到哪个版本的sqlite3,但我只能做到这一点:

: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 :(得分:0)

你最近升级到Snow Leopard了吗?如果是这样,您需要重新安装MacPorts以及随其安装的所有端口。

我建议使用RVM代替MacPorts安装ruby。

答案 1 :(得分:0)

如上所述,绝对使用RVM,然后在应用程序的目录中尝试:

rm -rf .bundle&&捆绑安装

答案 2 :(得分:0)

我有同样的问题。这是我如何解决它。

删除了gem sqlite3-ruby 捆绑安装 重新安装了宝石 重新创建了rails app

现在webrick工作正常。