The starter CANNOT spin without engaging the flywheel, unless the solenoid contacts are welded together--which happens, but it's fairly rare. It would crank all the time, you'd have to pull the battery cable to stop it.
If the starter is spinning, but the engine isn't cranking, the starter drive has probably failed.
MOST folks replace the starter. Starter drives and shift forks are available, although you'd probably have to order the shift fork and wait for it to show up. While you're in there, replace both bushings, the brushes, polish the armature contacts, and toss in a new leather washer.
Like I said...most folks replace the starter.