Showing every finite rank n vector bundle over the affine line is trivial of rank n In Ravi Vakil's algebraic geometry notes, exercise 13.2.C asks to show that every finite rank n vector bundle over $X = \mathbb{A}^1_k$ is actually free of rank n. The hint is to use the structure theorem for finitely generated modules over PIDs.
My question is how to show that the vector bundle being locally free implies it is globally finitely generated.
Let $\mathcal{F}$ be our vector bundle. If $\mathcal{F}(X)$ is finitely generated the structure theorem implies it's free, and clearly when we restrict down to one of our open sets over which is was free of rank n the ranks must agree. 
But why is it finitely generated? Is it simply because if it were not I could construct a submodule of $\mathcal{F}(X)$ of rank greater than n? i.e. by choosing linearly independent elements.

This comes down to showing that given a Noetherian ring A, an A-module M, and a finite open cover of SpecA by sets $D(f_i)$ along with the fact $M_{f_i}$ is Noetherian, then M is Noetherian, but this is a standard result. 
