8000 GitHub - postmodern/ruby-install: Installs Ruby, JRuby, TruffleRuby, or mruby
[go: up one dir, main page]

Skip to content
  • Insights
  • postmodern/ruby-install

    Folders and files

    NameName
    Last commit message
    Last commit date

    Latest commit

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Repository files navigation

    ruby-install

    Installs Ruby, JRuby, TruffleRuby (native / GraalVM), or mruby.

    Features

    • Supports downloading the latest versions and checksums from ruby-versions.
    • Supports installing into /opt/rubies/ for root and ~/.rubies/ for users by default.
    • Supports installing into arbitrary directories.
    • Supports downloading from arbitrary URLs.
    • Supports downloading from mirrors.
    • Supports downloading/applying patches.
    • Supports passing in arbitrary ./configure options.
    • Supports downloading archives using wget or curl.
    • Supports verifying downloaded archives via MD5, SHA1, SHA256 or SHA512 checksums.
    • Supports installing build dependencies from the package manager (apt, dnf, yum, pacman, zypper, xbps, brew, macports, and pkg).
    • Supports many different OSes:
    • Has unit tests.

    Anti-Features

    • Does not require upgrading every time a new Ruby version comes out.
    • Does not require recipes for each individual Ruby version or configuration.
    • Does not support installing trunk/HEAD or nightly rolling releases.
    • Does not support installing unsupported/unmaintained versions of Ruby.

    Requirements

    • bash >= 3.x
    • grep
    • wget > 1.12 or curl
    • md5sum or md5
    • sha1sum or sha1
    • sha256sum or sha256
    • sha512sum or sha512
    • tar
    • bzip2
    • xz
    • patch (if --patch is specified)
    • gcc >= 4.2 or clang

    Synopsis

    List supported Rubies and their current stable versions:

    $ ruby-install

    Updates then list the supported Rubies and their current stable versions:

    $ ruby-install --update

    Install the current stable version of Ruby:

    $ ruby-install ruby

    Install the latest version of Ruby:

    $ ruby-install --update ruby

    Install a stable version of Ruby:

    $ ruby-install ruby 3.1

    Install a specific version of Ruby:

    $ ruby-install ruby 3.1.2

    Install a Ruby into a specific directory:

    $ ruby-install --install-dir /path/to/dir ruby

    Install a Ruby into a specific rubies directory:

    $ ruby-install --rubies-dir /path/to/rubies/ ruby

    Install a Ruby into /usr/local:

    $ sudo ruby-install --system ruby 3.1.2

    Install a Ruby from a mirror:

    $ ruby-install -M http://www.mirrorservice.org/sites/ftp.ruby-lang.org/pub/ruby ruby 3.1.2

    Install a Ruby with a specific patch:

    $ ruby-install -p https://raw.github.com/gist/4136373/falcon-gc.diff ruby 1.9.3-p551

    Install a Ruby with a specific C compiler:

    $ ruby-install ruby 3.1.2 -- CC=clang

    Install a Ruby with specific configuration:

    $ ruby-install ruby 3.1.2 -- --enable-shared --enable-dtrace CFLAGS="-O3"

    Install CRuby with jemalloc support:

    $ ruby-install ruby 3.1.2 -- --with-jemalloc

    Install CRuby with YJIT support:

    $ ruby-install ruby 3.2.0 -- --enable-yjit

    Install a Ruby without installing dependencies first:

    $ ruby-install --no-install-deps ruby 3.1.2

    Uninstall a Ruby version:

    $ rm -rf ~/.rubies/ruby-3.1.2

    Integration

    Using ruby-install with RVM:

    $ ruby-install --rubies-dir ~/.rvm/rubies ruby-3.2.0-preview3

    Using ruby-install with rbenv:

    $ ruby-install --install-dir ~/.rbenv/versions/3.2.0-preview3 ruby-3.2.0-preview3

    ruby-install can even be used with Chef.

    Install

    wget https://github.com/postmodern/ruby-install/releases/download/v0.10.1/ruby-install-0.10.1.tar.gz
    tar -xzvf ruby-install-0.10.1.tar.gz
    cd ruby-install-0.10.1/
    sudo make install

    PGP

    All releases are PGP signed for security. Instructions on how to import my PGP key can be found on my blog. To verify that a release was not tampered with:

    wget https://github.com/postmodern/ruby-install/releases/download/v0.10.1/ruby-install-0.10.1.tar.gz.asc
    gpg --verify ruby-install-0.10.1.tar.gz.asc ruby-install-0.10.1.tar.gz

    Homebrew

    ruby-install can also be installed with homebrew:

    brew install ruby-install

    Or the absolute latest ruby-install can be installed from source:

    brew install ruby-install --HEAD

    Arch Linux

    ruby-install is already included in the AUR:

    yaourt -S ruby-install

    Fedora Linux

    ruby-install i 8000 s available on Fedora Copr.

    FreeBSD

    ruby-install is included in the official FreeBSD ports collection:

    cd /usr/ports/devel/ruby-install/ && make install clean

    Known Issues

    Please see the wiki.

    Alternatives

    Endorsements

    I like the approach you're taking. Curious to see how it plays out.

    -- Sam Stephenson of rbenv

    0