-->

Rails 4 server fails, Ruby 2.0 segmentation fault,

2020-03-18 03:50发布

问题:

I just started going through railstutorial.org and getting my development environment setup. When I got to the section 1.2.5 to run rails server for the fist_app, I type the command and the following printed out:

$ rails server
/Users/aaronpflower/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/sqlite3-  <          1.3.8/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.2.0]

Then followed by 500 lines of text

0 enumerator.so
1 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/x86_64-darwin13.2.0/enc/encdb.bundle
2 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/x86_64-darwin13.2.0/enc/trans/transdb.bundle
3 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/x86_64-darwin13.2.0/rbconfig.rb
4 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/compatibility.rb
5 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/defaults.rb
6 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/deprecate.rb
7 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/errors.rb
8 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/version.rb
9 /Users/aaronpflower/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/requirement.rb

Which ended with:

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.  
Bug reports are welcome. 
For details: http://www.ruby-lang.org/bugreport.html  
Abort trap: 6

When this first happened double checked the steps leading up to this in the tutorial, since being a beginner that was a high possibility. I typed the follow commands and everything checkout. (I'm also using OS 10.9.3)

$ rails -v
Rails 4.0.5
$ ruby -v 
2.0.0p481
$ rvm -v
1.25.27
$ brew doctor
system ready to brew

Through searching some posts have suggested to uninstall sqlite3 and then re-install but I still got the same seg fault message. Not sure of the next step.

回答1:

Your Rails -v and Ruby -v are correct for this tutorial.

I can also see from the input that your gemfile has gem 'sqlite3', '1.3.8' in it.

1: Have you bundled?

When was the last time you ran bundle update or bundle install?

How did you go about uninstalling sqlite3? Did you use $ gem uninstall sqlite3? Try uninstalling and then reinstalling the gem.

2: - What version manager?

Did you use rvm, rbenv or homebrew to install? Using different version managers for different pieces can create communication issues.

3: Did you install Xcode?

This is taken from http://www.railstutorial.org:


"As a prerequisite, OS X users may need to install the Xcode developer tools. To avoid the (huge) full installation, I recommend the much smaller Command Line Tools for Xcode.


To install Xcode (my recommendation), look it up in the AppStore.

To install Command Line Tools (MHartl's recommendation) - https://developer.apple.com/downloads/

4: Are you using `bundle exec`?

Try bundle exec rails c and bundle exec rails s

5: Try 'refreshing' your bundle directory

If bundle exec doesn't work Remove the .bundle/ directory and re-bundle with

rm -rf .bundle/ && bundle


回答2:

I experienced the same issue, I just switched to a different ruby version

e.g;

rvm use 1.9.3-p484

and then bundle again.