/README.md
Markdown | 165 lines | 114 code | 51 blank | 0 comment | 0 complexity | ce5318d451cb57ac44600a17a219decb MD5 | raw file
- # Unleash Ruby
- **Current Version:** 0.8.5
- **News:** [latest][news]
- **Downloads:** [latest][download]
- Uru is a lightweight, multi-platform command line tool that helps you use the
- multiple rubies (currently MRI, JRuby, and Rubinius) on your 32/64-bit Linux,
- OS X, or Windows systems.
- While there are a number of fantastic ruby environment managers such as [RVM][1],
- [rbenv][2], [pik][3], and [chruby][4], none are truely multi-platform, and all
- provide different levels of awesomeness. In contrast, [uru][5] is a micro-kernel.
- It provides a core set of minimal complexity, multi-platform ruby use enhancers.
- In many cases, Ruby is a multi-platform joy to use. Shouldn't your ruby environment
- manager also be?
- # Easy to Install
- The quickest path to uru zen is to [download][download] the binary archive for
- your platform type, extract its contents to a directory already on `PATH`, and
- perform one of the following installs. To build and install uru from Go source,
- or get more in-depth details, review the [installation and usage][usage] info.
- ## Windows systems
- ~~~ console
- :: Extract uru_rt.exe to a dir already on PATH and install. For example, assuming
- :: uru_rt.exe was extracted to C:\tools already on your PATH, install uru like
- C:\tools>uru_rt admin install
- :: [OPTIONAL] If you have a pre-existing ruby already on PATH from cmd.exe
- :: initialization, you can register it as the "system" ruby. A "system" ruby is
- :: almost always a bad idea.
- C:\tools>uru_rt admin add system
- ~~~
- Windows users may also install `uru`
- * by using [Scoop][scoop] to install via `scoop install https://bitbucket.org/jonforums/uru/downloads/uru.json`
- * by using the [Chocolatey][chocolatey] package manager
- * in Cygwin or MSYS2 [bash-like environments][bashonwindows] while remaining
- compatible with `cmd.exe` and `powershell` usage
- * in [Fish shells][fish] on Cygwin or MSYS2 by placing `uru_rt.exe` on Fish's `PATH`
- and doing a one time install via `echo 'uru_rt admin install | source' >> ~/.config/fish/config.fish`
- ## Linux and OS X systems
- ~~~ console
- # Extract uru_rt to a dir already on PATH and install. For example, assuming
- # uru_rt was extracted to ~/bin already on your PATH, install uru like
- $ cd ~/bin && chmod +x uru_rt
- # Append to ~/.profile on Ubuntu, or to ~/.zshenv on Zsh
- $ echo 'eval "$(uru_rt admin install)"' >> ~/.bash_profile
- # [OPTIONAL] If you have a pre-existing ruby already on PATH from bash/Zsh
- # startup configuration files, you can register it as the "system" ruby.
- # A "system" ruby is almost always a bad idea.
- $ uru_rt admin add system
- # Restart the shell
- $ exec $SHELL --login
- # If the `uru` command is not available when using bash via your desktop
- # environment's terminal emulator, append this to your .bashrc file.
- $(declare -F uru > /dev/null) || eval "$(uru_rt admin install)"
- ~~~
- Linux and OS X users may also install `uru`
- * in [Fish shells][fish] by placing `uru_rt` on Fish's `PATH` and doing a one time
- install via `echo 'uru_rt admin install | source' >> ~/.config/fish/config.fish`
- # Easy to Use
- While more detailed examples of uru's core commands are [available here][examples],
- once you have registered your installed rubies with uru, usage is similar to:
- ~~~ bash
- $ uru ls
- 174 : jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) S...
- 200p255 : ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
- => system : ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
- $ uru 174
- ---> Now using jruby 1.7.4 tagged as `174`
- $ uru ls
- => 174 : jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) S...
- 200p255 : ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
- system : ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
- $ jruby --version
- jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Server VM 1.7.0_25-b15 [linux-i386]
- $ uru sys
- ---> Now using ruby 2.1.0-dev tagged as `system`
- $ uru ls --verbose
- 174 : jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) S...
- ID: 1.7.4
- Home: /home/jon/.rubies/jruby-1.7.4/bin
- GemHome: /home/jon/.gem/jruby/1.7.4
- 200p255 : ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
- ID: 2.0.0-p255
- Home: /home/jon/.rubies/ruby-2.0.0/bin
- GemHome: /home/jon/.gem/ruby/2.0.0
- => system : ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
- ID: 2.1.0-dev
- Home: /usr/local/bin
- GemHome:
- $ uru gem li rake
- ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
- rake (10.1.0, 0.9.6)
- ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
- rake (10.1.0, 0.9.6)
- jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Server VM 1.7.0_25-b15 [linux-i386]
- rake (10.1.0, 10.0.3)
- $ uru ruby -e 'name="You"; puts "Hello #{name}!"'
- ruby 2.0.0p255 (2013-07-07 revision 41812) [i686-linux]
- Hello You!
- ruby 2.1.0dev (2013-07-06 trunk 41808) [i686-linux]
- Hello You!
- jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on Java HotSpot(TM) Server VM 1.7.0_25-b15 [linux-i386]
- Hello You!
- ~~~
- [news]: https://bitbucket.org/jonforums/uru/wiki/News
- [download]: https://bitbucket.org/jonforums/uru/wiki/Downloads
- [usage]: https://bitbucket.org/jonforums/uru/wiki/Usage
- [examples]: https://bitbucket.org/jonforums/uru/wiki/Examples
- [scoop]: https://bitbucket.org/jonforums/uru/wiki/Scoop
- [chocolatey]: https://bitbucket.org/jonforums/uru/wiki/Chocolatey
- [bashonwindows]: https://bitbucket.org/jonforums/uru/wiki/BashOnWindows
- [fish]: https://bitbucket.org/jonforums/uru/wiki/FishShell
- [1]: https://rvm.io/
- [2]: https://github.com/sstephenson/rbenv
- [3]: https://github.com/vertiginous/pik
- [4]: https://github.com/postmodern/chruby
- [5]: https://bitbucket.org/jonforums/uru