apt経由でruby 2.2.3をインストール


16

Ubuntu Wilyにapt経由でRuby 2.2.3をインストールする方法は?私が試したsudo apt-get install ruby2.2-devsudo apt-get install ruby2.2(ところで、違いは何)との両方のコマンドはかなり束をインストールしているように見えます。ただし、後でruby実行可能ファイルはありません。


あなたは絶対にapt経由でruby 2.2.3をインストールしたいですか?* -devパッケージには、正しく機能するために必要なヘッダーとファイルが含まれています。公式チェックruby-lang.orgそれはあなたが正しくルビー2.2.3をインストールするために必要な情報が含まれていますが
エンツォ

それが有用である場合は、[参照してくださいgorails.com/setup/ubuntu/15.10]
Ravan

1
@maetsohなぜruby を除くすべてのパッケージをaptでイ​​ンストールするのですか?パッケージマネージャーが好きです。
ミシエルデマーレ

RubyはUbuntuの「代替」メカニズムの一部ですか?そうでない場合、rbenvのようなものを使用してRubyのインストールを管理する価値があるかもしれません。特に、異なるバージョンのRubyを同時に使用する必要がある場合。Rails開発などを行う場合、ソフトリンクは少し面倒になります。

バージョンを切り替えるためにローカルでrbenvを使用しているため、面倒な価値がありますが、実稼働環境では1ルビーバージョンしか必要とせず、標準のパッケージマネージャーを使用します。「代替」メカニズムについて説明します。(manpages.ubuntu.com/manpages/vivid/en/man8/...
ミシェル・デ・マーレ

回答:


7

apt-get install ruby2.2ruby実行可能ファイルを提供します-これは単にruby2.2と呼ばれます。Gemとirbは同じです(つまりgem2.2 install bundler、動作し、irb2.2irbプロンプトが表示されます)。

これはUbuntuでは正常であり、代替システムは一般的に気にする必要がないことを意味しますが、何らかの理由でRubyはUbuntuの代替によって管理されていません。しかし、私たちはそれを作ることができます:

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.2 400 \
 --slave /usr/bin/rake rake /usr/bin/rake2.2 \
 --slave /usr/bin/ri ri /usr/bin/ri2.2 \
 --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
 --slave /usr/bin/gem gem /usr/bin/gem2.2 \
 --slave /usr/bin/irb irb /usr/bin/irb2.2 \
 --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby2.2.1.gz \
 --slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake2.2.1.gz \
 --slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri2.2.1.gz \
 --slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc2.2.1.gz \
 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem2.2.1.gz \
 --slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb2.2.1.gz

これを実行すると、Rubyが代替システムに登録され、選択肢が1つしかないため、ruby 2.2デフォルトとして設定されます。これにより、シンボリックリンクが作成され、最後に2.2を追加せずにruby/ gem/などを使用できるようになります。

これは、https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/にある手順のわずかに更新されたバージョンです


更新代替案:エラー:代替宝石はルビーの奴隷になることはできません:それはマスター代替です
Yevgen Kulik

17

OK、これは少なくとも鮮明に機能しました:

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.2 ruby2.2-dev

ワイリーでhttp://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/は、URL がないためエラーが発生しますhttp://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/


debian jessieでも同じ:/
ホルム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.