
Bower
A command-line package manager for front-end web libraries, now recommended only for legacy projects.
- Stars
- 14.9k
- Forks
- 1.8k
- Licence
- MIT
- Language
- JavaScript
- Last update
- 2.1 years ago
- Type
- Dev tool
No commits in over a year — check for forks or alternatives before adopting.
What it is
Bower is a command-line tool that downloads and tracks front-end packages such as JavaScript libraries, listing them in a bower.json file. It works over Git and is not tied to any one build system, so the packages can be used with various build tools. The README notes that the project is still maintained but recommends yarn, webpack, or parcel for new front-end projects.
- Install the packages listed in a bower.json file with a single command
- Add a package to bower.json while installing it, pinned to a specific version if needed
- Remove a locally installed package with bower uninstall
Great for
- Maintaining an existing front-end project that already uses bower.json
- Developers who want a simple, flat dependency model without a build system
- Teams that need to keep older front-end components working
Not ideal for
- New front-end projects, since the README recommends yarn, webpack, or parcel instead
- Anyone needing a bundler or build pipeline, because Bower only manages packages
- Users who need to run it with sudo, since the README says it should never be run that way
How to get it
- 1
Install with a package manager
You'll need: Node.js · npm · git
Install Bower globally with npm
npm install -g bower - 2
Run it
- Make sure Node.js, npm, and git are installed.
- Run npm install -g bower to install the tool.
- Create or open a project with a bower.json file.
- Run bower install to install the listed dependencies.
- 3
Get the most out of it
- Use --save when installing to record the package in bower.json.
- Pin a package to a specific version with the <package>#<version> syntax.
- Set options in a .bowerrc file, documented at bower.io/docs/config.
- Pair the installed components with a build tool such as Grunt, gulp, or RequireJS, as the README suggests.
Downloads
Strengths
- Dependency tree is flat and no dependencies are shared between apps, per the README
- Package-agnostic: components can contain any asset type and use any module format
- Simple command-line interface with a small set of core commands
Trade-offs
- The README itself recommends newer tools for new projects
- Requires Git on the system, and Windows setup needs extra configuration
- The README discourages using components statically for security reasons, so a build step is expected
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| bower (this) | 14.9k | Dev tool | beginner | 2.1 years ago | Maintaining an existing front-end project that already uses bower.json |
| webpack | 66k | Dev tool | intermediate | 4 days ago | Frontend developers building single-page or multi-page web apps |
| parcel | 44k | Dev tool | beginner | 4 days ago | Web developers who want a bundler that works without a config file |
| pnpm | 37k | Dev tool | beginner | 4 days ago | Developers working in Node.js projects who want faster installs and less disk use |
| patch-package | 11.2k | Dev tool | beginner | 1.1 years ago | Teams running a Node.js app who need a quick fix to a dependency before the upstream project publishes one |
| poetry | 34.3k | Dev tool | intermediate | 5 days ago | Python developers starting a new project who want one config file for dependencies and packaging |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.