Skip to content

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
Step-by-step guide: how to use BowerInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js · npm · git

    Install Bower globally with npm

    npm install -g bower
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
bower (this)14.9kDev toolbeginner2.1 years agoMaintaining an existing front-end project that already uses bower.json
webpack66kDev toolintermediate4 days agoFrontend developers building single-page or multi-page web apps
parcel44kDev toolbeginner4 days agoWeb developers who want a bundler that works without a config file
pnpm37kDev toolbeginner4 days agoDevelopers working in Node.js projects who want faster installs and less disk use
patch-package11.2kDev toolbeginner1.1 years agoTeams running a Node.js app who need a quick fix to a dependency before the upstream project publishes one
poetry34.3kDev toolintermediate5 days agoPython 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.