How do I make an object move along a path in either direction? I'm trying to make a garage door open or close by rolling up or down like they usually do. I know how to make an object follow a path in one direction along a curve using constraints, but I need it to move in both directions. Is there a way to do this? 

Also, when I try using the Follow Path constraint with a NURBS Path, the object attached to it only goes about a third of the way along the path and then lifts off and heads out into space. By reducing the number of keyframes, I can get it to follow the path just long enough to roll up like I want it to, but that seems to be a poor way to do this, and it still only allows the object to go in one direction.
It all depends on what kind of garage door you are talking about.

You can start with a single plank or slat.



Then add an array modifier to replicate it on the Z axis.



Add a curve with the path you want the door to follow (it's important that the door and the path have their origins on the same place):



On the original plank add a curve modifier and select the curve as guide object:



Move the door up and down on the Z axis, and it will curve following the path.



If you are dealing with a rigid door. Then instead of the curve modifier add a Follow Path constraint. And select the curve as target. Enable "Follow Path",  Set "Up" to Y and "Forward" to -Z



Then animate the offset value: