Every $R$-module is free $\implies$ $R$ is a division ring
From Grillet's Abstract Algebra, section VIII.5.
Definitions. A division ring is a ring with identity in which every nonzero element is a unit. A vector space is a unital module over a division ring.
Theorem 5.2. Every vector space has a basis.
Exercises.
(7.) Show that $R$ is a division ring if and only if it has no left ideal $L \neq 0, R$.
(*9.) Prove that $R$ is a division ring if and only if every left $R$-module is free.
I'm trying to solve exercise 9. I suspect it should be formulated:
Let $R$ be a unital ring. Then $R$ is a division ring $\iff$ every unital left $R$-module is free.
Attempt of proof: $(\implies)$: Theorem 5.2.
$(\impliedby)$: By exercise 7, it suffices to show that every non-zero left ideal of $R$ is equal to $R$. Let $I\!\neq\!0$ be a left ideal. As a $R$-module, $I$ has a basis $B$.
How can I show that $I=R$?
I will paraphrase Pete Clark's "Commutative algebra" notes (pp. 24-25), available here.
As Julian's answer and Amitesh's comment point out, if $R$ is a commutative ring, then if $R$ was not a field, there would exist a two-sided proper ideal $I$. Then $R/I$ would be a nontrivial $R$-module with $0\not=I=ann(R/I)$, whence $R/I$ would be a nonfree $R$-module.
For the noncommutative case: a ring with no nonzero proper twosided ideals may admit a nonfree module. Prof. Clark constructs an example: I quote,
Noncommutative Remark: If $R$ is a non-commutative ring such that every left $R$-module is free, then the above argument shows R has no nonzero proper twosided ideals, so is what is called a simple ring. But a noncommutative simple ring may still admit a nonfree module. For instance, let $k$ be a field and take $R = M_2 (k)$, the $2\times 2$ matrix ring over $k$. Then $k\oplus k$ is a left R-module which is not free. However, suppose $R$ is a ring with no proper nontrivial one-sided ideals. Then $R$ is a division ring – i.e., every nonzero element of $R$ is a unit – and every $R$-module is free.
At the end he asserts what you have been trying to prove. As mentioned by him in the comments, this is expanded in his noncommutative algebra notes, p.6:
Every left $R$-module is free $\Rightarrow$ $R$ is a division ring:
(We follow an argument given by Manny Reyes on MathOverflow.) Let $I$ be a maximal left ideal of $R$ and put $M = R/I$. Then $M$ is a simple left $R$-module: it has no nonzero proper submodules. By assumption $M$ is free: choose a basis $\{x_i\}_{i\in I}$ and any one basis element, say $x_1$. By simplicity $Rx_1 = M$. Moreover, since $x_1$ is a basis element, we have $Rx_1 \cong R$ as $R$-modules. We conclude that as left $R$-modules $R\cong M$, so $R$ is a simple left $R$-module. This means it has no nonzero proper left ideals and is thus a division ring.
Here is a different answer, but it is much less elementary. If every module is free, then every module is projective, so every module is semi-simple, and the ring is an Artinian semi-simple ring, so a direct product of matrix rings over division rings. Clearly any ring direct summand is a projective non-free module, so we have a matrix ring over a division ring. However, the natural module is a projective non-free module unless the matrix ring is of degree 1, that is, unless it is already a division ring. In other words, apply Artin–Wedderburn theory.