Skip to content

Commit

Permalink
Put the original RVM README back in place for the CLI
Browse files Browse the repository at this point in the history
  • Loading branch information
xiy committed Apr 12, 2012
1 parent 47c530b commit 09ad128
Showing 1 changed file with 177 additions and 21 deletions.
198 changes: 177 additions & 21 deletions README
@@ -1,29 +1,185 @@
=== RVM for RedHat OpenShift
{master:<img src="https://secure.travis-ci.org/wayneeseguin/rvm.png?branch=master" alt="Build Status" /> stable:<img src="https://secure.travis-ci.org/wayneeseguin/rvm.png?branch=stable" alt="Build Status" />}[http://travis-ci.org/#!/wayneeseguin/rvm/branch_summary]

A customised version of RVM that uses the non-standard install locations and environment variables in use on the RedHat OpenShift service.
= rvm

To install:

$ ssh <uuid>@<appname-namespace>.rhcloud.com
$ cd $OPENSHIFT_DATA_DIR
$ curl -L https://raw.github.com/xiy/rvm-openshift/master/binscripts/rvm-installer | bash -s
* https://rvm.io/
* https://github.com/wayneeseguin/rvm/

Because of the limitations in place on the OpenShift system, you cannot have RVM inserted as a bash function, so you'll need to run the following command any time you wish to use RVM through SSH access:

$ source $OPENSHIFT_DATA_DIR/.rvm/scripts/rvm
== DESCRIPTION:

RVM is the Ruby enVironment Manager (rvm).

== Using SSH with OpenShift
It manages Ruby application environments and switching between them.

To SSH into your OpenShift app box, find your SSH connection details using the rhc tools gem:

$ rhc-user-info -l <email> -p <password>
== Installation

It should look something like the following:

bf7ef3ac5@appname-namespace.rhcloud.com
curl -L get.rvm.io | bash -s stable [--ruby] [--rails] [--trace]

Then use this info to SSH into your box:

$ ssh bf7ef3ac5@appname-namespace.rhcloud.com
$ <password> type...type...type...
stable :: Install stable RVM, good for servers.
--ruby :: Additionally install latest ruby version (MRI).
--rails :: Install gem rails into default gemset (also installs ruby if not selected).
--trace :: Print trace of the installation, gist output when you have problems.

More details here: https://rvm.io/rvm/install/

== Usage

rvm [Flags] [Options] Action [Implementation[,Implementation[,...]]

== Flags

--default :: with 'rvm use X', sets the default ruby for new shells to X.
--debug :: Toggle debug mode on for very verbose output.
--trace :: Toggle trace mode on to see EVERYTHING rvm is doing.
--force :: Force install, removes old install & source before install.
--summary :: Used with rubydo to print out a summary of the commands run.
--latest :: with gemset --dump skips version strings for latest gem.
--gems :: with uninstall/remove removes gems with the interpreter.
--docs :: with install, attempt to generate ri after installation.
--reconfigure :: Force ./configure on install even if Makefile already exists.

== Options

-v|--version :: Emit rvm version loaded for current shell
-l|--level :: patch level to use with rvm use / install
--bin :: path for binaries to be placed (~/.rvm/bin/)
-S :: Specify a script file to attempt to load and run (rubydo)
-e :: Execute code from the command line.
--gems :: Used to set the 'gems_flag', use with 'remove' to remove gems
--archive :: Used to set the 'archive_flag', use with 'remove' to remove archive
--patch :: With MRI Rubies you may specify one or more full paths to patches
for multiple, specify comma separated:

--patch /.../.../a.patch[%prefix],/.../.../.../b.patch

'prefix' is an optional argument, which will be bypassed
to the '-p' argument of the 'patch' command. It is separated
from patch file name with '%' symbol.
-C|--configure :: custom configure options. If you need to pass several configure
options then append them comma separated:

-C --...,--...,--...

--nice :: process niceness (for slow computers, default 0)
--ree-options :: Options passed directly to ree's './installer' on the command line.
--with-rubies :: Specifies a string for rvm to attempt to expand for set operations.

== Action

(Note that for most actions, 'rvm help action-name' may provide more information.)

*usage* :: show this usage information
version :: show the rvm version installed in rvm_path
use :: setup current shell to use a specific ruby version
reload :: reload rvm source itself (useful after changing rvm source)
implode :: (seppuku) removes the rvm installation completely.

This means everything in $rvm_path (~/.rvm || /usr/local/rvm).

This does not touch your profiles. However, this means that you
must manually clean up your profiles and remove the lines which source RVM.
get :: {head,stable} upgrades rvm to latest head or stable version.

Check 'rvm help get' for more details.

(If you experience bugs try this first with head version, then
ask for help in #rvm on irc.freenode.net and hang around)
reset :: remove current and stored default & system settings.

(If you experience odd behavior try this second)
info :: show the *current* environment information for current ruby
current :: print the *current* ruby version and the name of any gemset being used.
debug :: show info plus additional information for common issues

install :: install one or many ruby versions

See also: https://rvm.io/rubies/installing/
uninstall :: uninstall one or many ruby versions, leaves their sources
remove :: uninstall one or many ruby versions and remove their sources

migrate :: Lets you migrate all gemsets from one ruby to another.
upgrade :: Lets you upgrade from one version of a ruby to another, including
migrating your gemsets semi-automatically.

wrapper :: generates a set of wrapper executables for a given ruby with the
specified ruby and gemset combination. Used under the hood for
passenger support and the like.

cleanup :: Lets you remove stale source folders / archives and other miscellaneous
data associated with rvm.
repair :: Lets you repair parts of your environment e.g. wrappers, env files and
and similar files (e.g. general maintenance).
snapshot :: Lets your backup / restore an rvm installation in a lightweight manner.

disk-usage :: Tells you how much disk space rvm install is using.
tools :: Provides general information about the ruby environment,
primarily useful when scripting rvm.
docs :: Tools to make installing ri and rdoc documentation easier.
rvmrc :: Tools related to managing rvmrc trust and loading.

do :: runs an arbitrary command against specified and/or all rubies
tests :: runs 'rake test' across selected ruby versions
specs :: runs 'rake spec' across selected ruby versions
monitor :: Monitor cwd for testing, run `rake {spec,test}` on changes.

gemset :: gemsets: https://rvm.io/gemsets/

rubygems :: Switches the installed version of rubygems for the current ruby.

gemdir :: display the path to the current gem directory (GEM_HOME).
srcdir :: display the path to rvm source directory (may be yanked)

fetch :: Performs an archive / src fetch only of the selected ruby.
list :: show currently installed rubies, interactive output.

https://rvm.io/rubies/list/
pkg :: Install a dependency package {readline,iconv,zlib,openssl}

https://rvm.io/packages/
notes :: Display notes, with operating system specifics.

export :: Temporarily set an environment variable in the current shell.
unexport :: Undo changes made to the environment by 'rvm export'.
requirements :: Shows additional OS specific dependencies/requirements for building various rubies.

== Implementation

*ruby* :: MRI/YARV Ruby (The Gold Standard) {1.8.6,1.8.7,1.9.1,1.9.2...}
jruby :: JRuby, Ruby interpreter on the Java Virtual Machine.
rbx :: Rubinius
ree :: Ruby Enterprise Edition, MRI Ruby with several custom
patches for performance, stability, and memory.
macruby :: MacRuby, insanely fast, can make real apps (Mac OS X Only).
maglev :: GemStone Ruby, awesome persistent ruby object store.
ironruby :: IronRuby, NOT supported yet. Looking for volunteers to help.
system :: use the system ruby (eg. pre-rvm state)
default :: use rvm set default ruby and system if it hasn't been set.

https://rvm.io/rubies/default/

== Resources:

https://rvm.io/
https://www.pivotaltracker.com/projects/26822

== Contributions:

Any and all contributions offered in any form, past present or future, to the
RVM project are understood to be in complete agreement and acceptance with the
Apache Licence v2.0.

== LICENSE:

Copyright (c) 2009-2011 Wayne E. Seguin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

0 comments on commit 09ad128

Please sign in to comment.