How to Install Angular CLI on Linux

Angular is an open-source, popular and highly-extensible front-end application development framework, used for building mobile and web applications using TypeScript/JavaScript and other common languages. Angular is an umbrella term for all Angular versions that come after AngularJS (or Angular version 1.0) including Angular 2, and Angular 4.

Angular is well suited for building small to large scale applications from scratch. One of the key components of the Angular platform to aid application development is the Angular CLI utility – it is a simple and easy-to-use command-line tool used to create, manage, build and test Angular applications.

Read Also: How to Run Angular Apps Using Angular CLI and PM2

In this article, we will explain how to install Angular command-line tool on a Linux system and learn some basic examples of this tool.

Installing Node.js in Linux

To install Angular CLI, you need to have the latest version of Node.js and NPM installed on your Linux system.

Install Node.js on Ubuntu

$ sudo curl -sL | sudo -E bash - [for Node.js version 12]
$ sudo curl -sL | sudo -E bash - [for Node.js version 11]
$ sudo curl -sL | sudo -E bash - [for Node.js version 10]
$ sudo apt install -y nodejs

Install Node.js on Debian

# curl -sL | bash - [for Node.js version 12]
# curl -sL | bash - [for Node.js version 11]
# curl -sL | bash - [for Node.js version 10]
# apt install -y nodejs

Install Node.js on CentOS/RHEL & Fedora

# curl -sL | bash - [for Node.js version 12]
# curl -sL | bash - [for Node.js version 11]
# curl -sL | bash - [for Node.js version 10]
# yum -y install nodejs
# dnf -y install nodejs [On RHEL 8 and Fedora 22+ versions]

Also, to compile and install native add-ons from NPM you may need to install development tools on your system as follows.

$ sudo apt install -y build-essential  [On Debian/Ubuntu]
# yum install gcc-c++ make             [On CentOS/RHEL]
# dnf install gcc-c++ make             [On RHEL 8/Fedora 22+]

Installing Angular CLI in Linux

Once you have Node.js and NPM installed, as shown above, you can install Angular CLI using the npm package manager as follows (the -g flag means to install the tool system-wide to be used by all system users).

# npm install -g @angular/cli
$ sudo npm install -g @angular/cli
Install Angular CLI in Linux
Install Angular CLI in Linux

You can launch the Angular CLI using the ng executable which should now be installed on your system. Run the following command to check the version of Angular CLI installed.

# ng --version
Check Version of ng
Check Version of ng

Creating an Angular Project Using Angular CLI

In this section, we will show how to create, build, and serve a new, basic Angular project. First, move into the webroot directory of your server, then initialize a new Angular application as follows (remember to follow the prompts):

# cd /var/www/html/
# ng new tecmint-app			#as root
$ sudo ng new tecmint-app		#non-root user
Create New Angular App
Create New Angular App

Next, move into the application directory which has just been created and serve application as shown.

# cd tecmint-app
# ls 			#list project files
# ng serve
Serve Angular App
Serve Angular App

Before you can access your new app from a web browser, if you have a firewall service running, you need to open port 4200 in the firewall configuration as shown.

---------- On CentOS/RHEL/Fedora ---------- 
# firewall-cmd --permanent --zone=public --add-port=4200/tcp 
# firewall-cmd --reload

---------- On Ubuntu/Debian ----------
$ sudo ufw allow 4200/tcp
$ sudo ufw reload

Now you can open a web browser and navigate using the the following address to see the new app run as shown in the following screenshot.

Access Your New Angular App
Access Your New Angular App

Note: If you use the command ng serve to build an application and serve it locally, as shown above, the server automatically rebuilds the app and reloads the web page(s) when you change any of the source files.

For more information concerning the ng tool, run the following command.

# ng help

The Angular CLI Homepage:

In this article, we have shown how to install Angular CLI on different Linux distributions. We also covered how to build, compile and server a basic Angular application on a development server. For any queries or thoughts, you want to share with us, use the feedback form below.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

6 thoughts on “How to Install Angular CLI on Linux”

  1. These instructions don’t really get me anywhere. The issues I am having are not programming problems but assumptions made in the article which are not valid. e.g. this command doesn’t work

    # cd /var/www/html/

    This directory does not exist on my Linux Mint setup. Is this an unsatisfied dependency? (If so what?) Is there a step to be carried out before I start your instructions? (If so what?)

    I can’t really get onto step 1, even.

  2. Hi,

    sudo ufw allow 4200/tcp, after this command I unable to open http://localhost:4200/, I am getting Cannot GET / error.

    kindly suggests to me how to open in the browser.

  3. You should use Node Version Manager instead. That way you can switch to different versions of node easily.

    curl | bash
    nvm install 10.16

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.