Let $q\colon E\to X$ be a covering map. If $E$ is compact then $X$ is compact and $q$ is a finite-sheeted covering. Here's what I have so far: Since $q$ is continuous and surjective then $X$ is compact. For all $x\in X$ there exists an evenly covered neighborhood $U_x$, so $\{U_x \colon x\in X\}$ is an open cover of $X$. So there is a finite subcover $\{ U_{x_1},\dots, U_{x_n}\}$. 
For a contradiction, suppose $q$ is not finite-sheeted. Now for for each $x_i$, we have that $q^{-1}(U_{x_i}) = \bigsqcup_{\alpha \in I_i} V_{x_i,\alpha}$ is disjoint union of open sets of $E$.  The sets $\{V_{x_1,\alpha}: \alpha \in I_1\},\dots,\{V_{x_n,\alpha}: \alpha \in I_n\}$ form an open cover of $E$, call it $\mathcal U$. So by compactness have a finite subcover $\mathcal U'\subseteq \mathcal U$. This where I'm having trouble completing the argument. Basically I want to argue that, for say $x_1$, no finite collection of $\mathcal U$ could cover the fiber $q^{-1}(x_1)$ since we assumed the fiber is infinite. But I'm having trouble how to show this.

For convenience, I write $U_k=U_{x_k}$.  Without loss of generality, choose the collection $\{U_1,\ldots,U_n\}$ such that $n$ is minimal, i.e., no collection of $n-1$ evenly covered open subsets of $X$ covers it.  Let $\mathcal U$ be as you have described.  I claim that $\mathcal U$ is finite.  Otherwise, some $\{V_{k,\alpha}:\alpha\in I_k\}$ must be infinite.  By compactness of $E$, for some $\alpha\in I_k$ we have $V_{k,\alpha}\subset \cup\{V_{j,\beta}:j\neq k\}$.  Applying $q$, we see that $U_k\subset\cup\{U_j:j\neq k\}$, contradicting our assumption.  
