1/19/2013 - 5:03 AM

RubyGems | RVM | Bundler

RubyGems | RVM | Bundler

= rvm



RVM is the Ruby Version Manager (rvm). It manages Ruby interpreter
environments and switching between them.

== 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
     --prefix     - path for all rvm files (~/.rvm/), with trailing slash!
     --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).
               This does not touch your profiles, which is why
               there is an if around the sourcing scripts/rvm.
  get        - {head,latest} upgrades rvm to latest head or release version.
               (If you experience bugs try this first with head version, then
                ask for help in #rvm on 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:
  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.

  exec       - runs an arbitrary command as a set operation.
  ruby       - runs a named ruby file against specified and/or all rubies
  gem        - runs a gem command using selected ruby's 'gem'
  rake       - runs a rake task 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:

  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.
  package    - Install a dependency package {readline,iconv,zlib,openssl}
  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'.

== 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.

== Resources:

== 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.



or just use:

    bash < <(curl -s


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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
~>:gem help commands
GEM commands are:

    build             Build a gem from a gemspec
    cert              Manage RubyGems certificates and signing settings
    check             Check installed gems
    cleanup           Clean up old versions of installed gems in the local
    contents          Display the contents of the installed gems
    dependency        Show the dependencies of an installed gem
    environment       Display information about the RubyGems environment
    fetch             Download a gem and place it in the current directory
    generate_index    Generates the index files for a gem server directory
    help              Provide help on the 'gem' command
    install           Install a gem into the local repository
    list              Display gems whose name starts with STRING
    lock              Generate a lockdown list of gems
    outdated          Display all gems that need updates
    owner             Manage gem owners on
    pristine          Restores installed gems to pristine condition from files
                      located in the gem cache
    push              Push a gem up to
    query             Query gem information in local or remote repositories
    rdoc              Generates RDoc for pre-installed gems
    search            Display all gems whose name contains STRING
    server            Documentation and gem repository HTTP server
    sources           Manage the sources and cache file RubyGems uses to search
                      for gems
    specification     Display gem specification (in yaml)
    stale             List gems along with access times
    uninstall         Uninstall gems from the local repository
    unpack            Unpack an installed gem to the current directory
    update            Update the named gems (or all installed gems) in the local
    which             Find the location of a library file you can require

For help on a particular command, use 'gem help COMMAND'.

Commands may be abbreviated, so long as they are unambiguous.
e.g. 'gem i rake' is short for 'gem install rake'.
~>:bundle -h | cat
BUNDLE(1)                                                            BUNDLE(1)

       bundle - Ruby Dependency Management

       bundle COMMAND [--no-color] [--verbose] [ARGS]

       Bundler  manages  an application's dependencies through its entire life
       across many machines systematically and repeatably.

       See the bundler website for information  on  get-
       ting  started,  and Gemfile(5) for more information on the Gemfile for-

              Prints all output without color

              Prints out additional logging information

       We divide bundle subcommands into primary commands and utilities.

       bundle install(1) bundle-install.1.html
              Install the gems specified by the Gemfile or Gemfile.lock

       bundle update(1) bundle-update.1.html
              Update dependencies to their latest versions

       bundle package(1) bundle-package.1.html
              Package the .gem files required by  your  application  into  the
              vendor/cache directory

       bundle exec(1) bundle-exec.1.html
              Execute a script in the context of the current bundle

       bundle config(1) bundle-config.1.html
              Specify and read configuration options for bundler

       bundle check(1)
              Determine  whether  the  requirements  for  your application are
              installed and available to bundler

       bundle list(1)
              Show all of the gems in the current bundle

       bundle show(1)
              Show the source location of a particular gem in the bundle

       bundle console(1)
              Start an IRB session in the context of the current bundle

       bundle open(1)
              Open an installed gem in the editor

       bundle viz(1)
              Generate a visual representation of your dependencies

       bundle init(1)
              Generate a simple Gemfile, placed in the current directory

       bundle gem(1)
              Create a simple gem, suitable for development with bundler

       These commands are obsolete and should no longer be used

       o   bundle lock(1)

       o   bundle unlock(1)

       o   bundle cache(1)

                                   May 2011                          BUNDLE(1)
RubyGems ('gem')
RVM      ('rvm')
Bundler  ('bundle')

- How can I peruse source code easily?
- How can I peruse rDoc and ri documentation easily? 

  gem list
  gem list --help
  gem search <string>
  gem install --version '> 0.3.2' packagename #install specific version:

  rvm info
  rvm debug
  rvm disk-usage
  rvm current
  rvm gemdir
  rvm list

  bundle exec <command> (this runs the version of the command that is specified in the current directory's Gemfile)

  Remembered Options:

  'bundle install --without production' #this installs everything in the associated gemfile except the block referenced in the switch option
    As in Section 1.4.1 and Chapter 2, we suppress the installation of production gems using the option --without production. 
    This is a “remembered option”, which means that we don’t have to include it in future invocations of Bundler. 
    Instead, we can write simply bundle install and production gems will be ignored automatically.
    In fact, you can even leave off install. The bundle command by itself is an alias for bundle install.


~>:rvm gemset


    rvm gemset [action]




    Commands for working with and manipulating gemsets within RVM.

~>:gem list -h
Usage: gem list [STRING] [options]

    -i, --[no-]installed             Check for installed gem
    -v, --version VERSION            Specify version of gem to list
                                     for use with --installed
    -d, --[no-]details               Display detailed information of gem(s)
        --[no-]versions              Display only gem names
    -a, --all                        Display all gem versions
        --[no-]prerelease            Display prerelease versions

  Local/Remote Options:
    -l, --local                      Restrict operations to the LOCAL domain
    -r, --remote                     Restrict operations to the REMOTE domain
    -b, --both                       Allow LOCAL and REMOTE operations
    -B, --bulk-threshold COUNT       Threshold for switching to bulk
                                     synchronization (default 1000)
        --clear-sources              Clear the gem sources
        --source URL                 Add URL as a remote source for gems
    -p, --[no-]http-proxy [URL]      Use HTTP proxy for remote operations
    -u, --[no-]update-sources        Update local source cache

  Common Options:
    -h, --help                       Get help on this command
    -V, --[no-]verbose               Set the verbose level of output
    -q, --quiet                      Silence commands
        --config-file FILE           Use this config file instead of default
        --backtrace                  Show stack backtrace on errors
        --debug                      Turn on Ruby debugging

    STRING        start of gem name to look for

    Display gems whose name starts with STRING

    --local --no-details