Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
LoadError racc/parser.rb #2632
Saw this in my Rails 4 app. Generated a new sample (blank) Rails app to see if the issue persists, and it does.
Steps to reproduce:
@brianhempel you'll need to add
Since gems like racc, psych, minitest are not controlled by rubysl, we can't ensure consistent dependency specification. Furthermore there are issues with e.g. psych, which requires a library to link to which may not be installed and which is specially handled by Heroku.
The separation of racc, psych, and minitest into gems predates rubysl but addresses many of the same issues, particularly getting updates to users sooner than MRI has a release. While it is potentially a bit painful to specify these dependencies in a Gemfile, that's typically a one-time task. The direction is clearly toward more gems, not less, and rubysl merely pushes the bar much further than anything previous, but not in a fundamentally different way.
@brixen Thanks for the detailed rational, and thanks for all your work on RBX and for trying to push Ruby forward.
The counterarguments are:
So, hopefully, more documentation is sufficient to not have people give up on RBX early.
@brianhempel thanks for the feedback. You make two important points: 1) many Ruby developers have no idea what is even in the "standard" library; and 2) Rubinius has to do more to help people trying out their apps.
The solution to 1) is not to hide more stuff. The Ruby standard library is a complete mess and I will continue pushing that pain forward to force the issues to be addressed.
The solution to 2) is more difficult. It's going to require some clear documentation and a bunch of repetition. What I won't be doing is trying to hide the pain instead of removing the problem.
I added the standard lib stubs to attempt to give a more complete error message, but based on what I've seen, the verdict is still out on whether it helps. More effort to inform people may be better than yet another bandaid on the complete mess that is Ruby standard lib + rubygems + bundler + RVM gemsets + unknown other levels of hacks. It's really frustrating for trying to provide better solutions in Rubinius and I'm sure it's frustrating for people just trying out their apps.
Right now I'm trying to address issues with psych not building correctly, for example, even when someone has libyaml installed via apt on Ubuntu 12.04. I can't see any solution here where Rubinius tries to "fix" all this broken stuff. So, I'm going to remove any gem not explicitly part of rubysl so that solutions are not special-cased (i.e. psych is just a gem, installed by rubygems; it should work or not in that context, period). I'll work on better ways to inform people how to get help or debug the problems they encounter.