web-dev-qa-db-ja.com

UbuntuhardyをRuby 1.8.7にアップグレードする

私のサーバーはUbuntuHardyを実行しており、Ruby 1.8.6はaptitudeを使用してインストールされています。Ruby 1.8.7にアップグレードしたいのですが、残念ながら= RubyパッケージにはRuby 1.8.7 UbuntuIntrepid以降が含まれています。

Ruby 1.8.7にアップグレードする方法についてのチュートリアルをいくつか読みましたが、このタスクを実行するための少なくとも3つの異なる方法を見つけました。

  • バックポート
  • ソースからのインストール
  • ソースおよび複数のバージョンからのインストール

私は少し混乱しています。同じサーバー上に複数のRubyバージョンが必要ないことを考慮して、Ruby 1.8.7にアップグレードすることをどのように推奨しますか?既存のRuby 1.8.6をRuby 1.8.7に置き換えます。

3
Simone Carletti

ジェフがRuby 1.8.7がまだバックポートされていないことに気付いたので、私の頭に浮かぶ他の唯一の解決策は、 Rubyをパッケージ化するチームのPPA を使用することです。 =。

必要に応じて、Rubyバージョン1.8.7.22とバージョン1.9.0.2の両方を見つけることができます。

PPAを使用するようにubuntuを構成する方法がわからない場合は、リンク先のページにも説明があります(Ubuntu 9.10(karmic)を使用していませんか?「このPPAをシステムに追加する」セクションの下。

お役に立てれば! :)

7
mac

これは私がAPT本当にひどいことだと思う場所です。正直なところ、怠惰な方法を取り、手動でデブをインストールすることをお勧めします。

cd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/r/Ruby1.8/libruby1.8_1.8.7.174-2_i386.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/r/Ruby1.8/Ruby1.8_1.8.7.174-2_i386.deb
Sudo dpkg -i libruby1.8_1.8.7.174-2_i386.deb Ruby1.8_1.8.7.174-2_i386.deb
Sudo apt-get install Ruby

これはどのパッケージでも機能しませんが、Rubyは、依存関係に関してはかなりクリーンなようです。インストールする可能性のある他のパッケージで不明瞭な問題が発生しないという約束はありません。しかしaptから。

1
Jeff Snider

別のオプションは、rubyeeにbrightboxパッケージを使用することです。

以下は Ben Arblasterの投稿 から引用されています

HardyベースのBrightboxを使用している場合は、/ etc/apt/sources.list.d/brightbox-rubyee.listを作成または編集して、次のようなrubyee-testingコンポーネントを含めます。

deb http://apt.brightbox.net/ hardy rubyee-testing

最後に、libruby1.8を更新およびアップグレードします。

Sudo apt-get update

Sudo apt-get install libruby1.8 irb1.8 libopenssl-Ruby1.8 libreadline-Ruby1.8 rdoc1.8 Ruby

1
russellkt

リポジトリを使用したい場合、したがって少なくとも更新が利用可能になる時期を知ることができる場合は、バックポートリポジトリを使用することを選択できます。 pinningと呼ばれる手法があり、リポジトリ全体を有効にして、特定のパッケージのみをインストール/アップグレードできます。 buntu wiki は、その方法を説明するよりも優れた仕事をしているので、読んでおいてください! :)

ジェフ・スナイダーの提案を採用することを選択した場合は、実行したいと思うかもしれません。

Sudo apt-get -f update

-f を意味する --fix-brokenそしてそれがすることは、すでにインストールされたパッケージの壊れた依存関係を修正しようとすることです。

HTH!

1
mac