The Bundlizer is RubyGems and Bundler apps management tool from the command line. NO MORE sudo
- OSX or Ubuntu
- Git
- Bundler 1.1 or later
To install the Bundlizer, open a terminal and run this command:
$ curl -L git.io/bundlizer-install | sh
Source ~/.bundlizer/etc/bashrc
in your ~/.bash_profile
or ~/.zshenv
:
$ echo 'source $HOME/.bundlizer/etc/bashrc' >> ~/.bash_profile
Restart your shell or exec $SHELL
$ bundlizer upgrade
$ rm -rf ~/.bundlizer
Install Rails (e.g. Ruby on Rails command: https://rubygems.org/gems/railties):
$ bundlizer install railties
Searching in RubyGems...
Fetching: thread_safe-0.3.4.gem (100%)
Successfully installed thread_safe-0.3.4
Fetching: minitest-5.4.2.gem (100%)
Successfully installed minitest-5.4.2
..snip..
Fetching: railties-4.1.6.gem (100%)
Successfully installed railties-4.1.6
15 gems installed
It was installed 'rails' into /Users/tomohiro/.bundlizer/apps/rails
You can start a rails project as usual:
$ rails -v
Rails 4.1.6
$ rails new awesome-project --skip-bundle
$ cd awesome-project
$ bundle install --path vendor/bundle
$ rails s
=> Booting WEBrick
=> Rails 4.1.6 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2014-10-14 21:03:22] INFO WEBrick 1.3.1
[2014-10-14 21:03:22] INFO ruby 2.1.3 (2014-09-19) [x86_64-darwin13.0]
[2014-10-14 21:03:22] INFO WEBrick::HTTPServer#start: pid=43184 port=3000
Install (e.g. heroku: git://github.com/heroku/heroku.git
):
$ bundlizer install heroku/heroku
Cloning into heroku...
remote: Counting objects: 9595, done.
remote: Compressing objects: 100% (3304/3304), done.
remote: Total 9595 (delta 6435), reused 9094 (delta 5994)
Receiving objects: 100% (9595/9595), 1.18 MiB | 316 KiB/s, done.
Resolving deltas: 100% (6435/6435), done.
Start bundle installing to /home/tomohiro/.bundlizer/bundles/heroku
Fetching gem metadata from https://rubygems.org/.........
Installing rake (0.9.2)
..snip..
Using heroku (2.18.1) from source at .
..snip..
Installing webmock (1.7.7)
Using bundler (1.1.rc.7)
Your bundle is complete! It was installed into ./vendor/bundle
It was installed `heroku` into /home/tomohiro/.bundlizer/apps/heroku
You don't need bundle
command. You can use <cmd>
instead of bundle exec <cmd>
:
$ type heroku
heroku is /home/tomohiro/.bundlizer/apps/heroku
$ heroku version
heroku-gem/2.19.0
Or, You can run the following command if you want use https://github.com/...
or https://bitbucket.org/...
:
$ bundlizer install https://bitbucket.org/foo/bar.git
Use the rbenv local
command by rbenv.
Set 2.0.0-p0:
$ bundlizer use 2.0.0-p0 heroku
Use 2.0.0-p0 at heroku
Set 1.9.3-p392:
$ bundlizer use 1.9.3-p392 rails
Use 1.9.3-p392 at rails
Unset:
$ bundlizer use --unset rails
Unset local Ruby version at rails
$ bundlizer list --verbose
Gem/Bundler apps installed by the Bundlizer:
* foreman (rubygems.org: https://rubygems.org/gems/foreman)
apps: foreman,rake2thor,thor
* guard (git://github.com/guard/guard.git)
apps: guard
* heroku (git://github.com/heroku/heroku.git)
apps: heroku
ruby: 2.0.0-preview1
* pry (git://github.com/pry/pry.git)
apps: pry
ruby: 1.9.3-p362
* rails (rubygems.org: https://rubygems.org/gems/rails)
apps: erubis,rackup,rails,rake2thor,thor,tilt,tt
* yard (git://github.com/lsegal/yard.git)
apps: yard,yardoc,yri
$ bundlizer depends rails
Example: add veewee
gem to the vagrant
app:
$ bundlizer install vagrant
$ bundlizer depends vagrant --add-gem veewee
Example: add net-ssh
, net-scp
gem to the backup
app:
$ bundlizer install backup
$ bundlizer depends backup --add-gem net-ssh -v '~> 2.3.0'
$ bundlizer depends backup --add-gem net-scp -v '~> 1.0.4'
Update the app:
$ bundlizer update heroku
Update all apps:
$ bundlizer update
$ bundlizer uninstall heroku
uninstall: remove app 'heroku'? (yes/no) yes
rm -f /home/tomohiro/.bundlizer/apps/heroku
rm -rf /home/tomohiro/.bundlizer/bundles/heroku
It was Uninstalled 'heroku'
Sourcing ~/.bundlizer/completions/bundlizer.zsh
will set up that, for Zsh users:
$ echo 'source "$HOME/.bundlizer/completions/bundlizer.zsh"' >> ~/.zshenv
Backup installed app list:
$ bundlizer list | tail -n +3 > ~/bundlizer_installed_apps
Reinstall app from backup installed app list:
$ cat ~/bundlizer_installed_apps | xargs bundlizer install
© 2012 - 2016 Tomohiro TAIRA.
This project is licensed under the MIT license. See LICENSE for details.