Awesome
Ubuntu Ruby Dev
This simple bash script will install common packages used in Ruby/Rails development to your empty Ubuntu machine.
Tested on:
- Ubuntu 14.04.1 LTS x86_64 Desktop Edition (Unity DE)
- Ubuntu 14.04.1 LTS x86_64 Minimal Install (without any DE at all)
How to use:
Download the script to your machine. Then run:
$ chmod +x ./ubuntu_ruby_dev.sh
$ ./ubuntu_ruby_dev.sh
Enter a password, start installation process and select tools you want to install.
After you can drink a cup of coffee or water, automated installation would take 15-20 minutes (depends on the amount of selected packages and Internet connection speed).
Also revert option is available. (Unless you delete the ubuntu_ruby_dev_revert.txt
file created during the installation.
Run in the same folder:
$ ./ubuntu_ruby_dev.sh -r
Than it will remove all installed packages.
Processing logs will be available in the same folder in the ubuntu_ruby_dev.log
file.
Also you can use -v
(--verbose
) option to print logs to STDOUT additionaly to the log file.
What is included:
- bash
- awk
- sed
- grep
- ls
- cp
- tar
- curl
- gunzip
- bunzip2
- git
- vim
- imagemagick
- RVM
- Ruby
- NodeJs
- MySQL
- Postgresql
- Redis
- Ag
- Ctags
By default all packages and utilites comming with latest stable versions, inluding Ruby.
TODO:
-
ask everything required at the beggining of execution to allow silent install without user iteraction -
add automated testing (at least syntax) -
refactor script syntax in accordance with Shellcheck style guides (Travis CI build status) -
add 'verbose' option to show what is going on not only in log file -
add possibility to choose packages for install rather than install everything -
check already installed tools, upgrade them or do nothing if not needed (Except Redis which would just reinstalled) -
add possibility to install specific Ruby version rather than just latest one -
add possibility to select default root password to MySQL rather than empty one - add possibility to read from external source file for additional packages or commands
-
implement more intellegent revert process to uninstall only packages installed by script itself -
add post install message with information about installation paths and configuration options - make revert file dynamicly rather than at the end of execution (than if script falls in middle there would be something already)
- ?additional automated testing (at least syntax)?
Inspired by:
License:
Copyright (c) MIT [2015] [aliaksandrb]