3

バージョン管理にchrubyを使用しており、残念ながらRuby 1.8.7のプロジェクトを複製しています。chruby で Ruby 1.8.7 をインストールすることはできますか? このプロセスのリソースが見つかりません。

4

6 に答える 6

3

TL;DR

少なくともruby​​-installを使用しない限り、できません。Ruby 1.8.7 はサポート終了となり、Postmodern の ruby​​-install ツールによってサポートが終了しました。

Ruby 1.8.7 はサポートされていません

コンソール エラー メッセージは、インストールされているライブラリとコンパイラによって異なる場合がありますが、変更されていない Ruby 1.8.7 が最近のシステムでコンパイルされる可能性はほとんどありません。たとえば、Ubuntu 13.10 の場合:

$ ruby-install ruby 1.8.7
[lots of output elided]
math.c:37:13: error: missing binary operator before token "("
 #elif define(ERANGE)
             ^
make: *** [math.o] Error 1
!!! Compiling ruby 1.8.7 failed!

Ruby 1.8.7 がサポートされていない理由

Ruby 1.8.7 のサポートは、2013 年 12 月 9 日に Postmodern によって削除されました。コミットf013ed2は次のように説明しています。

commit f013ed2476ecce82ea41ff63de413daf2231b82b
Author: Postmodern <postmodern.mod3@gmail.com>
Date:   Mon Dec 9 16:09:30 2013 -0800

    Drop support for Ruby 1.8.x since it has reached End-of-Life.

    * CVE-2013-4164 affects Ruby 1.8.x and there is no official patch.
      Enabling users to install and run 1.8.x at this point is irresponsible.

代替案

あなたの選択肢は次のとおりです。

  1. Ruby 2.1.0など、Ruby の新しい安定バージョンへのアップグレード。
  2. この記事の執筆時点では、Ruby 1.8.6-p420 および 1.8.7-p374 をサポートしているRVMなどの Ruby バージョン マネージャーを使用します。
  3. ruby-install の代わりに ruby​​-build使用します。READMEの ruby​​-build の使用に関する chruby の指示に従って、chrubyが新しくインストールした Ruby を見つけられるようにします。
  4. chruby が見つけられる場所に 1.8.7 を手動でインストールし、chruby を使用してそれを管理します。
于 2014-02-22T16:20:07.517 に答える
1

MRI 1.8.7 の定義を維持するruby​​-buildを使用できます。

次に、次のようにして 1.8.7 をインストールします。

ruby-build 1.8.7-p375 /opt/rubies/1.8.7-p375
于 2014-11-15T11:47:39.887 に答える
0

残念ながらchruby、1.8.7 はサポートされなくなりました。次のように、rvm を使用して 1.8.7 をインストールし、それを にリンクすることで、なんとか動作/実行することができました~/.rubies

\curl -sSL https://get.rvm.io | bash
rvm install 1.8.7-head
ln -s ~/.rvm/rubies/ruby-1.8.7-head ~/.rubies/ruby-1.8.7
于 2015-11-21T20:33:01.300 に答える