Getting started with Ember is easy. Ember projects are created and managed through our command line build tool Ember CLI. This tool provides:
- Modern application asset management (including concatenation, minification, and versioning).
- Generators to help create components, routes, and more.
- A conventional project layout, making existing Ember applications easy to approach.
- Support for ES2015/ES6 JavaScript via the Babel project. This includes support for JavaScript modules, which are used throughout this guide.
- A complete QUnit test harness.
- The ability to consume a growing ecosystem of Ember Addons.
Dependencies
Node.js and npm
Ember CLI is built with JavaScript, and expects the Node.js runtime. It also requires dependencies fetched via npm. npm is packaged with Node.js, so if your computer has Node.js installed you are ready to go.
Ember requires Node.js 0.12 or higher and npm 2.7 or higher. If you're not sure whether you have Node.js or the right version, run this on your command line:
node --version
npm --version
If you get a "command not found" error or an outdated version for Node:
- Windows or Mac users can download and run this Node.js installer.
- Mac users often prefer to install Node using Homebrew. After
installing Homebrew, run
brew install node
to install Node.js. - Linux users can use this guide for Node.js installation on Linux.
If you get an outdated version of npm, run npm install -g npm
.
Git
Ember requires Git to manage many of its dependencies. Git comes with Mac OS X and most Linux distributions. Windows users can download and run this Git installer.
Watchman (optional)
On Mac and Linux, you can improve file watching performance by installing Watchman.
PhantomJS (optional)
You can run your tests from the command line with PhantomJS, without the need for a browser to be open. Consult the PhantomJS download instructions.
Installation
Install Ember using npm:
npm install -g ember-cli
To verify that your installation was successful, run:
ember -v
If a version number is shown, you're ready to go.