It's because JavaScript has no culture

Everyone who works with the web is forced to use it, each coming in with their own opinions of how things should be done.. thus we have the fragmentation

Ruby grew in a large part due to Rails, so everyone that's in—and stayed in—that community has been self selected to share similar ideas of how to build web apps