THE BLOG
05/02/2014 12:07 pm ET Updated Dec 06, 2017

Bower: Front-End Dependency Management for Apps

Bower is a Node.js based package manager for the web. Bower makes front-end dependency management a breeze. You can install, update, remove, modify your packages through Bower, within a single command. I'd like to introduce you to some of those commands.

Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat. [1]

2014-05-02-BowerApackagemanagerfortheweb.png

It's among the workflow tools that I use and recommend to other developers, it takes roughly 30 minutes to get started, and it should quickly become evident how useful of a tool it is. It has been acclaimed as the solution for client-side JavaScript development.

You're more than welcome to contribute to the project - because open-source is good for you - on GitHub, there is also an extensive documentation on the official repository, though - we want to see the commands that we will be using on daily basis.

Install Bower

npm install -g bower

Find a Package

bower search
bower search bootstrap

Install a Package

bower install bootstrap

Update All Packages

bower update

Remove a Package

bower uninstall bootstrap

Which Packages Have You Got Installed?

bower list

Show Package Version

bower info bootstrap

Clean Your Package Cache

bower cache-clean

Install with JSON: package.json

// define a Bower package with this package.json file

{
"name": "app-name",
"version": "0.0.1",
"dependencies": {
"sass-bootstrap": "~3.0.0",
"modernizr": "~2.6.2",
"jquery": "~1.10.2"
},
"private": true
}

Createing Your package.json File

bower init

It doesn't get any more easy than that. Bootstrap is another Twitter project, and they encourage you to use Bower to take away the strain from your workflow, from having to do all of the above - manually.

I hope that this will inspire you to give Bower a try, it's easier to understand what a certain tool does, once you've seen how it operates and manages the packages.

What is your tool of choice for package management?