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.