This paper addresses self-localization of stationary sensor networks based on inter-neighbor bearings and anchor nodes whose locations are known. In our work, we formulate the bearing-only network localization problem as a linear least-squares problem and consider measurement models with and without errors. We provide necessary and sufficient conditions for the localizability of a network with both algebraic and rigidity theoretic interpretations. The proposed conditions fully describe the relationship between the localizability and the bearing rigidity properties of a network. We also analyze the sensitivity of the localization problem to constant measurement errors. Upper bounds for the localization error and the bearing errors that a network can tolerate are presented. Finally, we propose distributed protocols to globally localize bearing-only networks. All the results presented in the paper are applicable to networks in arbitrary dimensions. This work is validated with numerical simulations.