RHELでRubyをアップグレードする方法

RHELでRubyをアップグレードする方法

RHELでRubyを新しいバージョンにアップグレードする方法。

私が試したら -sudo yum install rubyそれは言う

パッケージruby-2.0.0.648-33.el7_4.x86_64がインストールされており、最新の状態です。

バージョンは関係ありません

私が試したら -sudo yum install @ruby2.5それは言う、

ロードされたプラグイン: fastmirror, langpacks リポジトリ "UIM_install"

構成に名前がありません。 IDを使用するリポジトリ「デバッグ」がありません。

構成名、その他の内容をリストするには、id Repository nodesourceを使用してください。

構成リポジトリーにリストされているノード・ソースより 1 回以上ソースを追加します。

構成リポジトリー「opencl」が複数回欠落しています。

キャッシュからイメージレートをロードするためのIDを使用した設定の名前

Ruby2.5のホストファイルグループは存在しません。エラー:何もしません。

私のシステムには最新のRubyが必要です。解決策は何ですか?

編集する:

私はsudo yum update ruby次の答えを試して提供しました。

キャッシュされたホストファイルのイメージ読み込み速度

更新対象としてマークされたパッケージはありません。

答え1

以下から、最新バージョンのRubyを入手できます。Red Hat ソフトウェアコレクション

rhsclリポジトリをインストールしたら、Ruby SCLパッケージをインストールできます。これらのパッケージはデフォルトリポジトリにインストールされているRubyのバージョンと一緒に存在するため、/usr/bin/rubyを使用しません。 「rh-ruby25」SCLにはRuby 2.5が含まれていますが、最新バージョンが必要な場合はRuby 2.6(rh-ruby26)を使用することもできます。

SCLを使用すると、Red Hatでサポートされ、他のすべてと同様にyumとしてインストールされ、セキュリティ更新プログラムを受け取ることができるという利点があります。欠点はデフォルトのRubyに付属しているため、SCLを使用する前に慎重にロードする必要があります。指示は提供されたリンクにあります。

答え2

通常、私はLinuxディストリビューションにパッケージされたRuby(またはRails)バージョンを使用しようとしません。そのバージョンは私のニーズに比べてほぼ常に古いです。代わりに必要なバージョンをダウンロードしてください。右心室VM。これを行うには、ディストリビューションが提供するRuby以外のディレクトリに最新バージョンのRubyをインストールする必要があり、$PATH必要に応じてディストリビューションが提供するバイナリの前にそのディレクトリを配置できます。

答え3

怠惰な人のためのRVMガイドライン

$ sudo dnf remove ruby

実際に必要なものが削除されないことを確認してください。幸い、私はRubyに頼っていませんでした。

RVM(Ruby Version Manager)をインストールします。安全に全く影響を与えないにもかかわらず、無意味で批判的なダンスを作ります。

gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable

新しいシェルを起動します。

確認するhttps://www.ruby-lang.org/en/downloads/最新のRubyバージョンを確認してください。残念ながらフラグがないようです--latest。シェン。

rvm install 3.3.0

いくつかの依存関係をインストールできるように、sudoパスワードの入力を求められます(はい!)

それではそうです。ソースからRubyを構築する。はい、RubyはPythonのようにインストールユーザーエクスペリエンスに優れています。 GoやRustをインストールするときにソースから構築された記憶はありません。シェン。

エラーが発生します。

Error running 'run_gem_wrappers regenerate',
please read /home/you/.rvm/log/1706528997_ruby-3.3.0/gemset.wrappers.global.log

Googleで確認してください。最初の提案(インストールlibtool)を試してください。すでにインストールされています。 2番目の提案を試してください。

sudo dnf install libyaml-devel

もう一度お試しください

$ rvm install 3.3.0
Already installed ruby-3.3.0.
To reinstall use:

    rvm reinstall ruby-3.3.0

嘘だreinstallバージョンを試してください。

ついに成功しました!ソフトウェアのアップグレードがこんなに簡単だと思いますか?

編集:話すには早すぎます:

$ rvm use 3.3.0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for an example.

表示されているとおりに実行しないで、最後に追加し.bash_profileた行を移動してください.bashrc

簡単な12段階コース!

他のコマンドの検索を保存するには、次の手順を実行します。

rvm --default use 3.3.0

答え4

Redhatとcentosは、さまざまなソフトウェアの最新バージョンを提供していません。 LTS(Long Term Support)オペレーティングシステムだからです。セキュリティとマイナーアップグレードのみがリリースされます。より高いバージョンのソフトウェアをインストールするには、既存のバージョンを交換せずに直接コンパイルするのが最善です。これは、オペレーティングシステムが以前の特定のバージョンで作成されたスクリプト/ツールに依存しているためです。別のものに変更すると、問題が発生する可能性があります。

関連情報