diff options
Diffstat (limited to 'README')
| -rw-r--r-- | README | 61 |
1 files changed, 39 insertions, 22 deletions
@@ -1,19 +1,19 @@ -rbpm (ruby path mangler) +gbpm (<generic binary> path mangler) -https://git.potato.am/rbpm.git/ -Manage multiple Ruby installations with no black magic. +https://git.potato.am/gbpm.git/ +Manage multiple Python/Ruby/etc. installations with no black magic. NOTES - rbpm only manages rubies located in the ~/.rubies directory. This - directory can be changed by setting the RUBIES_PATH environment - variable to some other location. rbpm does not display information - about rubies it does not manage, such as any system-wide install. + gbpm only manages installations located in GBPM_OPTS_PATH, shadowing + binaries already reachable from PATH. No information on external + installations is displayed. - rbpm performs a substring match when selecting a ruby. If there are - multiple matches, it gives precedence to matches at the start of the - version. If there are still multiple, the greatest of those is used. + A substring match is performed when selecting an installation, with + tiebreak rules to choose intuitively, the greatest being selected + amongst equally ranked matches. For example, `2.1' will match + `python-2.1.3' over `python-2.1.2' or `python-3.2.1'. DEPENDENCIES @@ -24,21 +24,32 @@ DEPENDENCIES INSTALLING - Save the script to a safe location, then add the following function to - your ~/.bashrc or equivalent file: + The output of this script is a series of commands to be executed, e.g. + via a shell function in `~/.bashrc': - rbpm() { source <(/path/to/rbpm.sh "${@}"); } + pypm() { + . <( + GBPM_OPTS_PATH="${HOME}/.pythons" \ + /path/to/gbpm.sh "${@}") + } + rbpm() { + . <( + GBPM_OPTS_PATH="${HOME}/.rubies" \ + /path/to/gbpm.sh "${@}") + } -INSTALLING RUBIES - The path to the executable should look something like this: +INSTALLING VERSIONS + + With `~/.rubies' as the managed directory, the path to a ruby binary + should look something like: ~/.rubies/ruby-2.1.2/bin/ruby To install Ruby to this directory: - $ wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2 + $ wget https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2 $ tar -xf ruby-2.1.2.tar.bz2 $ cd ruby-2.1.2 $ ./configure --prefix="${HOME}"/.rubies/ruby-2.1.2 @@ -48,7 +59,10 @@ INSTALLING RUBIES USAGE - A sequence of commands showing rbpm in use: + A series of commands showing gbpm in use, through an `rbpm' function: + + $ ruby -v + bash: ruby: command not found $ rbpm ls ruby-1.8.7-p374 @@ -56,7 +70,7 @@ USAGE ruby-2.1.2 $ rbpm set 2.1 - Adding /home/omp/.rubies/ruby-2.1.2/bin to PATH. + adding /home/david/.rubies/ruby-2.1.2/bin to PATH $ rbpm ls ruby-1.8.7-p374 @@ -67,19 +81,22 @@ USAGE ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] $ rbpm set 1.9 - Removing /home/omp/.rubies/ruby-2.1.2/bin from PATH. - Adding /home/omp/.rubies/ruby-1.9.3-p547/bin to PATH. + removing /home/david/.rubies/ruby-2.1.2/bin from PATH + adding /home/david/.rubies/ruby-1.9.3-p547/bin to PATH $ ruby -v ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-linux] $ rbpm clear - Removing /home/omp/.rubies/ruby-1.9.3-p547/bin from PATH. + removing /home/david/.rubies/ruby-1.9.3-p547/bin from PATH + + $ ruby -v + bash: ruby: command not found To set the version from a .ruby-version file: $ rbpm set $(cat .ruby-version) - Adding /home/omp/.rubies/ruby-1.8.7-p374/bin to PATH. + adding /home/david/.rubies/ruby-1.8.7-p374/bin to PATH AUTHORS |
