---
name: "ri2.1"
section: "1"
platform: "linux"
package: "ruby2.1"
version: "2.1.5-2+deb8u3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/ri2.1"
---

# ri2.1(1)

Ruby API reference front end

## NAME

**ri** – Ruby API reference front end

## SYNOPSIS

**ri** \[**-Ti**\] \[**-d** *directory*\] \[**-f** *format*\] \[**--list-doc-dirs**\] \[**--no-standard-docs**\] \[**--**\[**no-**\]{**system**\|**site**\|**gems**\|**home**}\] \[**--**\[**no-**\]**use-cache**\] \[**--width**=*width*\] \[*target* *...*\]

## DESCRIPTION

**ri** is a CLI front end for the Ruby API reference. You can search and read API reference for classes and methods with **ri**.

**ri** is a part of Ruby.

*target* can be one of the following forms:

- Class

  for classes

- Class::method

  for class methods

- Class#method

  for instance methods

- Class.method

  for both class and instance methods

- method

  for both class and instance methods

All class names may be abbreviated to their minimum unambiguous form. If a name is ambiguous, all valid options will be listed.

For example:

```
ri Fil
ri File
ri File.new
ri zip
```

Note that shell quoting may be required for method names containing punctuation:

```
ri 'Array.[]'
ri compact!
```

## OPTIONS

- **--version**

  Prints the version of **ri**.

- **-T**

  - **--no-pager**

  Send output directly to stdout, rather than to a pager.

- **-d** *directory*

  - **--doc-dir**=*directory*

  List of directories from which to source documentation in addition to the standard directories.  May be repeated.

- **-f** *FORMAT*

  - **--fmt** *FORMAT*

  - **--format**=FORMAT

  Format to use when displaying output:

  ansi, bs, html, plain, simple

  Use 'bs' (backspace) with most pager programs. To use ANSI, either disable the pager or tell the pager to allow control characters.

- **-i**

  - **--interactive**

  This makes **ri** go into interactive mode.

  When **ri** is in interactive mode it will allow the user to disambiguate lists of methods in case multiple methods match against a method search string.  It also will allow the user to enter in a method name (with auto-completion, if readline is supported) when viewing a class.

- **--list-doc-dirs**

  List the directories from which ri will source documentation on stdout and exit.

- **--no-standard-docs**

  Do not include documentation from the Ruby standard library, *site\_lib*, installed gems, or *~/.rdoc*.

  Equivalent to specifying the options **--no-system**, **--no-site**, **--no-gems**, and **--no-home**.

- **--**\[**no-**\]**system**

  Include documentation from Ruby's standard library.  Defaults to true.

- **--**\[**no-**\]**site**

   Include documentation from libraries installed in site\_lib. Defaults to true.

- **--**\[**no-**\]**gems**

  Include documentation from RubyGems. Defaults to true.

- **--**\[**no-**\]**home**

  Include documentation stored in ~/.rdoc.  Defaults to true.

- **--**\[**no-**\]**use-cache**

  Whether or not to use**ri**'s cache. True by default.

- **-w** *width*

  - **--width**=*width*

  Set the width of the output.

## ENVIRONMENT

- RI

  Additional options.

- PAGER

  Used as the name of pager program for displaying.

- HOME

  - USERPROFILE

  - HOMEPATH

  Path to user's home directory.

## FILES

- *~/.ri*

  Caches recently referenced documents here.

- *~/.rdoc*

  Searches user-wide documents here.

## SEE ALSO

[ruby(1)](/ruby/1.md) [rdoc(1)](/rdoc/1.md) [gem(1)](/gem/1.md)

## REPORTING BUGS

Security vulnerabilities should be reported via an email to⟨security@ruby-lang.org⟩. Reported problems will be published after being fixed.

And you can report other bugs and feature requests via the Ruby Issue Tracking System (http://bugs.ruby-lang.org). Do not report security vulnerabilities via the system because it publishes the vulnerabilities immediately.

## AUTHORS

Written by Dave Thomas ⟨dave@pragmaticprogrammer.com⟩
