Why is the $C^\infty(M)$-module of smooth sections of a vector bundle $E$ not free? Let $M$ be a second countable smooth manifold. When I learned about differential geometry, a side note was made about how if $E$ is a vector bundle, $\Gamma(E)$ is a $C^\infty(M)$-Module that is not free, but projective. I now realized that I have no idea how to prove that!
My first attempt was to look for torsion elements, but $F_R(X)$ (the free $\operatorname{\underline{R-Mod}}$ over the set $X$) having no torsion elements is only satisfied if $R$ is a domain – which is clearly not the case for $C^\infty(M)$ (take bump functions with different support).
So:

  
*
  
*How do you show that $\Gamma(E)$ is not free as a $C^\infty(M)$-Module?
  
*What are good tactics to show that a (non-finitely generated) module is not free if the ring $R$ is not even a domain?
  

 A: First of all, it's not true that $\Gamma(E)$ is not free.  What is true is that $\Gamma(E)$ might not be free, depending what $E$ is.  Specifically, $\Gamma(E)$ is free iff the vector bundle $E$ is trivial.
This more specific statement gives us much more of a clue of how to prove it: we can expect that a basis for $\Gamma(E)$ corresponds to a trivialization of $E$.  Indeed, if $E\cong M\times\mathbb{R}^n$ is trivial of rank $n$, then $\Gamma(E)\cong C^\infty(M)^n$: a section of $E$ can be identified with a smooth map $M\to\mathbb{R}^n$, or $n$ smooth maps $M\to\mathbb{R}$.
Conversely, suppose $B$ is a basis of $\Gamma(E)$ over $C^\infty(M)$, and let $m$ be the rank of $E$.  Note that if we evaluate the elements of $B$ at any point $p$, they must span $E_p$ (otherwise $B$ could not generate all of $C^\infty(M)$), so $|B|\geq m$.  I claim that $|B|=m$.  To prove this, fix any point $p\in M$.  We can find $s_1,\dots s_m\in B$ such that $s_1(p),\dots,s_m(p)$ is a basis for $E_p$.  Then $s_1,\dots,s_m$ are linearly independent at every point in some neighborhood $U$ of $p$, and so give a local trivialization of $E$ on $U$.  In particular, if $s\in B\setminus\{s_1,\dots s_m\}$ we can write $s=\sum_{i=1}^m c_is_i$ on $U$, for some smooth functions $c_i$ on $U$.  Letting $\varphi\in C^\infty(M)$ be a bump function supported on $U$, we then have $$\varphi s=\sum_{i=1}^mc_i\varphi s_i$$ on all of $M$, where $c_i\varphi\in C^\infty(M)$.  This is a nontrivial relation between elements of $B$, contradicting the assumption that they were a basis.
Thus no such $s$ can exist, and $B=\{s_1,\dots,s_m\}$ has $m$ elements.  It now follows that $s_1(q),\dots,s_m(q)$ are a basis for $E_q$ for all $q\in M$, so $s_1,\dots,s_m$ give a trivialization of $E$.
A: Let $X$ be a closed, smooth manifold, and let $E\to X$ be a vector bundle. Put $R = C^\infty(X)$. By induction on $\dim E$ (and splitting off a trivial subbundle), it's sufficient to prove the case where $E$ is a line bundle. Then $E = Rs$ for some section $s\in \Gamma(E)$. By local trivialization, $\Gamma(E)$ contains for each $p\in X$ a section that is nonzero at $p$. Thus $s \not = 0$ everywhere. But a nowhere-vanishing section is exactly a trivialization of $E$.
In the other direction, choose a finite open cover $\{U_i\}$ of $X$ with each $E\vert U_i$ trivial. These restrictions then patch together to give an embedding of $E$ in the trivial bundle $\theta^N \to X$ for some large $N$. Furthermore, the decomposition $\theta^n = E\oplus E^\perp$ gives $\Gamma(E)$ as a direct summand of $\Gamma(\theta^N) = R^N$; that is, $\Gamma(E)$ is a projective $R$-module. There are several invariants that can prove that bundles are nontrivial; these are good sources of projective modules, albeit ones over a very complicated ring. 
Swan's theorem is an extension of this idea: For $X$ as above, the map
\begin{align*}
\Gamma:\{\text{finite-dimensional vector bundles over $X$}\} \to \{\text{f.g. projective $C^\infty(X)$-modules}\}
\end{align*}
is an equivalence. (There are also variants that lower the restrictions on the left and right sides above.)
