问题
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.
来源:https://stackoverflow.com/questions/24415120/rails-4-server-fails-ruby-2-0-segmentation-fault-abort-trap-6