试图让我的rails 3环境启动并运行,我一直遇到一个我无法解决的错误。任何帮助都将非常感谢!
问题在于:
Patrick-Scotts-MacBook-Pro:~ PJS$ cd hope_app
Patrick-Scotts-MacBook-Pro:hope_app PJS$ rails server
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.9.2dev (2010-07-11 revision 28618) [x86_64-darwin10.4.0]
-- control frame ----------
c:0026 p:-541019732 s:0075 b:0075 l:000074 d:000074 TOP
c:0025 p:---- s:0073 b:0073 l:000072 d:000072 CFUNC :require
c:0024 p:0029 s:0069 b:0069 l:000065 d:000068 BLOCK /Users/PJS/.rvm/gems/ruby-1.9.2- rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3.rb:6
c:0023 p:0035 s:0066 b:0066 l:000065 d:000065 TOP /Users/PJS/.rvm/gems/ruby-1.9.2- rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3.rb:2
c:0022 p:---- s:0064 b:0064 l:000063 d:000063 FINISH
c:0021 p:---- s:0062 b:0062 l:000061 d:000061 CFUNC :require
c:0020 p:0026 s:0058 b:0058 l:000039 d:000057 BLOCK /Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:64
c:0019 p:---- s:0055 b:0055 l:000054 d:000054 FINISH
c:0018 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC :each
c:0017 p:0080 s:0050 b:0050 l:000039 d:000049 BLOCK /Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:62
c:0016 p:---- s:0045 b:0045 l:000044 d:000044 FINISH
c:0015 p:---- s:0043 b:0043 l:000042 d:000042 CFUNC :each
c:0014 p:0046 s:0040 b:0040 l:000039 d:000039 METHOD /Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:51
c:0013 p:0021 s:0036 b:0036 l:000035 d:000035 METHOD /Users/PJS/.rvm/gems/ruby-1.9.2- rc2/gems/bundler-1.0.0.rc.2/lib/bundler.rb:114
c:0012 p:0079 s:0032 b:0032 l:000031 d:000031 TOP /Users/PJS/hope_app/config/application.rb:7
c:0011 p:---- s:0030 b:0030 l:000029 d:000029 FINISH
c:0010 p:---- s:0028 b:0028 l:000027 d:000027 CFUNC :require
c:0009 p:0016 s:0024 b:0024 l:000015 d:000023 BLOCK /Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:28
c:0008 p:---- s:0021 b:0021 l:000020 d:000020 FINISH
c:0007 p:---- s:0019 b:0019 l:000018 d:000018 CFUNC :tap
c:0006 p:0468 s:0016 b:0016 l:000015 d:000015 TOP /Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:27
c:0005 p:---- s:0012 b:0012 l:000011 d:000011 FINISH
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :require
c:0003 p:0061 s:0006 b:0006 l:001598 d:0013a8 EVAL script/rails:6
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001598 d:001598 TOP
---------------------------
-- Ruby level backtrace information ----------------------------------------
script/rails:6:in `<main>'
script/rails:6:in `require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:27:in `<top (required)>'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:27:in `tap'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:28:in `block in <top (required)>'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/railties-3.0.0.rc/lib/rails/commands.rb:28:in `require'
/Users/PJS/hope_app/config/application.rb:7:in `<top (required)>'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler.rb:114:in `require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:51:in `require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:51:in `each'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:62:in `block in require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:62:in `each'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:64:in `block (2 levels) in require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/bundler-1.0.0.rc.2/lib/bundler/runtime.rb:64:in `require'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3.rb:2:in `<top (required)>'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3.rb:6:in `rescue in <top (required)>'
/Users/PJS/.rvm/gems/ruby-1.9.2-rc2/gems/sqlite3-ruby-1.3.1/lib/sqlite3.rb:6:in `require'
-- C level backtrace information -------------------------------------------
答案 0 :(得分:39)
根据this post,我重新安装了sqlite3 gem并且问题消失了:
gem uninstall sqlite3
gem install sqlite3
我的软件版本:
% ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin11.2.0]
% rails -v
Rails 3.2.1
答案 1 :(得分:5)
我发现完全关闭我的shell(关闭所有窗口,然后右键单击Dock中的终端图标并选择关闭),然后重新启动终端修复此问题。
在我看到这个问题之前,我一直在创建和销毁,使用和更改gemsets一段时间。我怀疑事情只是让人感到困惑。
答案 2 :(得分:2)
我在1.9.3中遇到了类似的问题。我必须:
立即行动。
答案 3 :(得分:1)
我有完全相同的版本,我没有看到这个。但我不是Macbook Pro。
很难说这是否是Ruby 1.9.2问题(因为它仍然没有被认为足够稳定而无法正式发布)或者这是否真的是Sqlite 3 gem中的一个错误。对于稍早版本的Ruby 1.9.2,针对gem的reported完全相同。
您可能会尝试回退到Sqlite 1.3.0版或暂时回到Ruby 1.9.1,直到问题自行解决。几乎没有一个令人满意的答案,但至少你可以再次提高效率。
答案 4 :(得分:1)
我在sqlite3-ruby 1.3.2中遇到了同样的问题 反复删除安装和卸载相同的sqlite3-ruby后
我终于彻底删除了rvm dir
rm -rf /usr/local/lib/rvm /usr/local/bin/{r*,gem-ruby-1.9.2-p136,irb-ruby-1.9.2-p136,testrb-ruby-1.9.2-p136} /usr/local/rvm
然后再次安装它,
我怀疑
libsqlite3-0 libsqlite3-dev sqlite3
所有三个必须在安装rvm之前安装, 因为我在其他机器上遵循的步骤很好。
是的,这不是正确的解决方案。
答案 5 :(得分:1)
我遇到了类似的问题 - 看起来Rails试图使用不同版本的Ruby(1.9.2dev而不是1.9.2-rc2)。您可以使用
确认head -1 `which rails`
更改第一行,或使用gem uninstall rails && gem install rails
重新安装gem。
(P.S。感谢venj的解决方案here)
答案 6 :(得分:1)
当我在Gemfile中两次声明“test”组时出现此错误。一旦我摆脱了第二个声明,就没有更多的分段错误。
答案 7 :(得分:1)
我遇到了一个问题,我在卸载并重新安装sqlite3 gem和自制sqlite3软件包之后仍然遇到了seg故障。事实证明,即使rvm使用ruby 1.9.3,rake仍然指向Lion的1.8.7安装。
$rake db:create
/Users/jessesanford/.rvm/gems/ruby-1.9.3-p125/gems/sqlite3-1.3.6/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
我不确定如何在1.9.3的ruby gems库中安装rake,其中一个shebang脚本标题指向1.8.7,但不管是什么原因重新安装rake纠正了它,现在事情进展顺利。
答案 8 :(得分:0)
似乎我们目前主要在尝试随机解决方案。
这是我的:
由于我的开发服务器在端口80上运行,因此需要使用rails server
发出sudo
命令。有时这会导致测试环境中某些文件的所有权问题。
似乎每当我在运行应用程序的测试套件时遇到问题时,我的开发服务器就会因著名的“您可能在Ruby解释器或扩展库中遇到错误”错误而崩溃。
在两种情况下,清除Rails的临时缓存(sudo bundle exec rails tmp:cache:clear
)均可解决问题。