20846: Remove ref to nonexistent Alma 7.
[arvados.git] / doc / _includes / _install_ruby_and_bundler.liquid
index 1e49ca20f95274bbd7e93e1a96cc372473c21584..5d5bc9e9d7c3b30ac51fb0b8d434d08a519bef66 100644 (file)
@@ -1,63 +1,84 @@
-Ruby 2.3 is recommended; Ruby 2.1 is also known to work.
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
-h4(#rvm). *Option 1: Install with RVM*
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
-<notextile>
-<pre><code><span class="userinput">sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
-\curl -sSL https://get.rvm.io | sudo bash -s stable --ruby=2.3
-</span></code></pre></notextile>
+Ruby 2.7 or newer is required.
 
-Either log out and log back in to activate RVM, or explicitly load it in all open shells like this:
+* "Option 1: Install from packages":#packages
+* "Option 2: Install with RVM":#rvm
 
-<notextile>
-<pre><code><span class="userinput">source /usr/local/rvm/scripts/rvm
-</span></code></pre></notextile>
+h2(#packages). Option 1: Install from packages
+
+h3. Alma/CentOS/Red Hat/Rocky
 
-Once RVM is activated in your shell, install Bundler:
+Version 7 of these distributions does not provide a new enough Ruby version.  Use "RVM":#rvm to install Ruby 2.7 or newer.
+
+Version 8 of these distributions provides Ruby 2.7. You can install it by running:
 
 <notextile>
-<pre><code>~$ <span class="userinput">gem install bundler</span>
-</code></pre></notextile>
+<pre><code># <span class="userinput">dnf module enable ruby:2.7</span>
+# <span class="userinput">dnf install --enablerepo=devel ruby ruby-devel</span></code></pre>
+</notextile>
+
+h3. Debian and Ubuntu
 
-h4(#fromsource). *Option 2: Install from source*
+Debian 10 (buster) and Ubuntu 18.04 (bionic) ship with Ruby 2.5, which is too old for Arvados. Use "RVM":#rvm to install Ruby 2.7 or newer.
 
-Install prerequisites for Debian 8:
+Debian 11 (bullseye) and Ubuntu 20.04 (focal) and later ship with Ruby 2.7 or newer, which is sufficient for Arvados.
 
 <notextile>
-<pre><code><span class="userinput">sudo apt-get install \
-    bison build-essential gettext libcurl3 libcurl3-gnutls \
-    libcurl4-openssl-dev libpcre3-dev libreadline-dev \
-    libssl-dev libxslt1.1 zlib1g-dev
-</span></code></pre></notextile>
+<pre><code># <span class="userinput">apt-get --no-install-recommends install ruby ruby-dev</span></code></pre>
+</notextile>
+
+h2(#rvm). Option 2: Install with RVM
+
+{% include 'notebox_begin_warning' %}
+We do not recommend using RVM unless the Ruby version provided by your OS distribution is older than 2.7.
+{% include 'notebox_end' %}
 
-Install prerequisites for CentOS 7:
+h3. Install gpg and curl
+
+h4. CentOS/Red Hat 7
+
+<pre>
+yum install gpg curl which findutils procps
+</pre>
+
+{% comment %}
+To build ruby 3.2.2 on CentOS 7, add: "yum --enablerepo=powertools install libyaml-devel"
+{% endcomment %}
+
+h4. Alma/CentOS/Red Hat/Rocky 8+
+
+<pre>
+dnf install gpg curl which findutils procps
+</pre>
+
+h4. Debian and Ubuntu
+
+<pre>
+apt-get --no-install-recommends install gpg curl ca-certificates dirmngr procps
+</pre>
+
+h3. Install RVM, Ruby and Bundler
 
 <notextile>
-<pre><code><span class="userinput">sudo yum install \
-    libyaml-devel glibc-headers autoconf gcc-c++ glibc-devel \
-    patch readline-devel zlib-devel libffi-devel openssl-devel \
-    make automake libtool bison sqlite-devel tar
+<pre><code><span class="userinput">gpg --keyserver pgp.mit.edu --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
+\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.7.7
 </span></code></pre></notextile>
 
-Install prerequisites for Ubuntu 12.04 or 14.04:
+This command installs the Ruby 2.7.7 release, as well as the @gem@ and @bundle@ commands.
+
+To use Ruby installed from RVM, load it in an open shell like this:
 
 <notextile>
-<pre><code><span class="userinput">sudo apt-get install \
-    gawk g++ gcc make libc6-dev libreadline6-dev zlib1g-dev libssl-dev \
-    libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev \
-    libncurses5-dev automake libtool bison pkg-config libffi-dev curl
+<pre><code><span class="userinput">source /usr/local/rvm/scripts/rvm
 </span></code></pre></notextile>
 
-Build and install Ruby:
+Alternately you can use @rvm-exec@ (the first parameter is the ruby version to use, or "default"), for example:
 
 <notextile>
-<pre><code><span class="userinput">mkdir -p ~/src
-cd ~/src
-curl -f http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz | tar xz
-cd ruby-2.3.3
-./configure --disable-install-rdoc
-make
-sudo make install
-
-sudo -i gem install bundler</span>
-</code></pre></notextile>
+<pre><code><span class="userinput">rvm-exec default ruby -v
+</span></code></pre></notextile>