What is the difference between the
bundle
&bundler
commands?What is the difference between
bundle
&bundle install
?If there're no differences, why have multiple commands that do the same thing?
1 Answers
The executables
bundle
&bundler
have the same functionality and therefore can be used interchangeably. You can see in thebundler/exe
directory that thebundler
executable just loads thebundle
executable. It seems to me that thebundle
command is more commonly used than thebundler
command.The commands
bundle
&bundle install
also have the same functionality.bundle
uses Thor, andbundle
's default task isinstall
. Also,bundle i
does the same thing asbundle install
becausebundle
's taski
is mapped (aliased) toinstall
.That's a GREAT question. :-) Ruby tends to follow the Perl programming motto: "There's more than one way to do it." I tend to prefer the Zen of Python principle: "There should be one—and preferably only one—obvious way to do it." I think the latter principle caters to the principle of least astonishment and tends to help keep things simple. Overall however, I still tend to prefer to program in Ruby (especially when building HTTP-based RESTful APIs, for which I use Rack). I think Ruby is simple, elegant, and readable. Perhaps Ruby would be even better if it took on Python's stance regarding this issue.

- 121,420
- 116
- 450
- 651
-
2Kinda reminds of rails and rake in the latest versions of rails (5.x) https://stackoverflow.com/questions/38403533/rails-dbmigrate-vs-rake-dbmigrate. As a newcomer to Ruby and RoR, one command is easier to learn. – cdmo Sep 25 '18 at 19:54
-
11`bundle` and `bundler` can be used interchangeable … unless for some reason your system ends up with one version of `bundle` and an incompatible version of `bundler`. Hours of debugging fun ♂️ – FeifanZ Feb 27 '19 at 23:11