Non-independence of data in preference studies

If I have a dataset where people have given ranked preference for things, the preference scores are not independent of eachother. For example, if people were asked to rank "Apples" "Pears" and "Bananas" according to preference, if they rank Apples as 1, then Pears and Bananas cannot be given a 1.

If I now have a dataset like this:

Person; Fruit; Rank
1 ; Apple; 1
1 ; Banana; 2
1 ; Pear; 3
2 ; Apple; 2
2 ; Banana; 3
2 ; Pear; 1
50 ; Apple; 1
50 ; Banana; 3
50 ; Pear; 2

What is the best way to analyse this data?
I could do a Chi-squared test on a contingency table built up from the data where rank==1, thus showing that preference is non-random. But then I lose data on the other rankings. What I'd really like to do is have an outcome that is more informative.
For example, I would like to be able to say that bananas were given a mean rank of 1.3+/-0.2 and this was significantly different from the ranking of apples (2.5+/-0.1). But to simply do t-tests to compare ranking scores for bananas vs. ranking scores for apples would violate the assumptions of the t-test (independence of data points.)

Sorry for rambling a bit, but I hope you get my point.
Any ideas? Or maybe you can point me to some references.

OK, but that doesn't really solve any of the non-independence issues does it?
I'm still none the wiser as to what tests would be appropriate with this kind of data.
Are there any tests that I can use that relax, or account for, the non-independence assumption?