Description
Bower 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.
Bower runs over Git, and is package-agnostic. A packaged component can be made up of any type of asset, and use any type of transport (e.g., AMD, CommonJS, etc.).
Bower alternatives and similar libraries
Based on the "Package Managers" category.
Alternatively, view Bower alternatives based on common mentions on social networks and blogs.
-
jspm
DISCONTINUED. JSPM is an open source project for working with dependency management via import maps in browsers. -
Duo
DISCONTINUED. Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless. -
corepack
Zero-runtime-dependency package acting as bridge between Node projects and their package managers -
volo
Create front end projects from templates, add dependencies, and automate the resulting projects
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Bower or a related project?
Popular Comparisons
README
Bower - A package manager for the web
..psst! While Bower is maintained, we recommend yarn and webpack or parcel for new front-end projects!
Bower 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.
Bower runs over Git, and is package-agnostic. A packaged component can be made up of any type of asset, and use any type of transport (e.g., AMD, CommonJS, etc.).
View complete docs on bower.io
View all packages available through Bower's registry.
Install
$ npm install -g bower
Bower depends on Node.js and npm. Also make sure that git is installed as some bower packages require it to be fetched and installed.
Usage
See complete command line reference at bower.io/docs/api/
Installing packages and dependencies
# install dependencies listed in bower.json
$ bower install
# install a package and add it to bower.json
$ bower install <package> --save
# install specific version of a package and add it to bower.json
$ bower install <package>#<version> --save
Using packages
We discourage using bower components statically for performance and security reasons (if component has an upload.php
file that is not ignored, that can be easily exploited to do malicious stuff).
The best approach is to process components installed by bower with build tool (like Grunt or gulp), and serve them concatenated or using a module loader (like RequireJS).
Uninstalling packages
To uninstall a locally installed package:
$ bower uninstall <package-name>
prezto and oh-my-zsh users
On prezto
or oh-my-zsh
, do not forget to alias bower='noglob bower'
or bower install jquery\#1.9.1
Never run Bower with sudo
Bower is a user command; there is no need to execute it with superuser permissions.
Windows users
To use Bower on Windows, you must install Git for Windows correctly. Be sure to check the options shown below:
Note that if you use TortoiseGit and if Bower keeps asking for your SSH
password, you should add the following environment variable: GIT_SSH -
C:\Program Files\TortoiseGit\bin\TortoisePlink.exe
. Adjust the TortoisePlink
path if needed.
Ubuntu users
To use Bower on Ubuntu, you might need to link nodejs
executable to node
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Configuration
Bower can be configured using JSON in a .bowerrc
file. Read over available options at bower.io/docs/config.
Support
You can ask questions on following channels in order:
Contributing
We welcome contributions of all kinds from anyone. Please take a moment to review the [guidelines for contributing](CONTRIBUTING.md).
- Bug reports
- [Feature requests](CONTRIBUTING.md#features)
- [Pull requests](CONTRIBUTING.md#pull-requests)
Note that on Windows for tests to pass you need to configure Git before cloning:
git config --global core.autocrlf input
Backers
Support us with a monthly donation and help us continue our activities. [Become a backer]
License
Copyright (c) 2012-present Twitter and other contributors
Licensed under the MIT License
*Note that all licence references and agreements mentioned in the Bower README section above
are relevant to that project's source code only.