2013-07-17 115 views
0

我正在使用傳統導軌系統。我需要一份紅寶石1.8.7 我剛剛在工作中給了一臺新電腦(最後),它有Ubuntu 12.04如何在rvm上安裝ruby 1.8.7到Ubuntu 12.04?

不幸的是,我剛剛發現可用於我的系統的rvm紅寶石不包含1.8.7(請參閱下面的列表)

如何安裝ruby 1.8.7? 是否有另一個我可以指出的來源將起作用?

請注意:我沒有使用apt-get安裝RVM,這是沒有問題的

這是可用紅寶石的列表:

# Rubies available for 'ubuntu/12.04/x86_64': 

    ruby-1.9.3-p194 
    ruby-1.9.3-p286 
    ruby-1.9.3-p327 
    ruby-1.9.3-p362 
    ruby-1.9.3-p374 
    ruby-1.9.3-p392 
    ruby-1.9.3-p429 
    ruby-1.9.3-p448 
    ruby-2.0.0-p0 
    ruby-2.0.0-p195 
    ruby-2.0.0-p247 

編輯:

大家知道,下面是一些簡單的rvm命令的輸出:

triton:[~]% rvm list 

rvm rubies 

# No rvm rubies installed yet. Try 'rvm help install'. 

並且rvm install會給出這個消息(這個消息在標準存儲庫中沒有1.8.7的版本)。

triton:[~]% rvm install 1.8.7 
Searching for binary rubies, this might take some time. 
No binary rubies available for: ubuntu/12.04/x86_64/ruby-1.8.7-p374. 
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies. 
You requested building with 'gcc-4.4' but it is not in your path. 
+0

我的Ubuntu 12.08在'apt'中有'ruby1.8'。它很可能在rvm中不可用,因爲它已被淘汰。編輯:我從rvm 1.8.6紅寶石可用於安裝... – Amadan

+0

我沒有通過apt安裝。它不是在apt-sources中尋找,而是在rvm中。但是 - 是的:)它在rvm中不可用。我只是想知道是否有另一種方式來與rvm安裝 - 如果我可以指向它,例如,10.04 rvm源代碼(或任何 - 只要它有1.8.7) –

+0

您可以刪除rvm並安裝ruby 1.8。 7p374從這裏的源代碼:ftp://ftp.ruby-lang.org/pub/ruby/1.8/ –

回答

1

從文檔:

要安裝特定的標記紅寶石的版本從倉庫中我們 指定-t(標籤名稱)。

它接着談分支機構...

庫分行(MRI)

爲了從倉庫安裝Ruby的具體分支版本中,我們指定--branch(分支名) 。命名的紅寶石可以幫助避免衝突。

$ rvm install ruby-head -n zombie --branch ruby_1_8 && rvm ruby-head-zombie 
$ ruby -v 
ruby 1.8.8dev (2012-05-21) [i386-darwin10.8.0] 
$ rvm install ruby-head -n newborn && rvm ruby-head-newborn 
$ ruby -v 
ruby 2.0.0dev (2012-06-03 trunk 35876) [x86_64-darwin10.8.0] 

你會發現在Ruby庫中的所有有效分支的列表:http://svn.ruby-lang.org/repos/ruby/branches/

你必須比所顯示的更多的訪問。在RVM official website

ruby_1_3/ 
ruby_1_4/ 
ruby_1_6/ 
ruby_1_8/ 
ruby_1_8_5/ 
ruby_1_8_6/ 
ruby_1_8_7/ 
ruby_1_9_1/ 
ruby_1_9_2/ 
ruby_1_9_3/ 
ruby_2_0_0/ 

更多的提示此外,對於額外的幫助,在freenode.net的IRC聊天室是真棒!

+0

好吧,我不確定殭屍的內容是什麼 - 並且(像一個明智的人)我討厭只運行命令我不'不認識;)你能解釋一下你上面的命令的各個部分嗎?非常感謝:) –

+0

我在RVM網站上讀到了這一點 - 但它沒有解釋:a)分支是什麼意思b)他們是否會在任何機器上快樂地運行(我擔心,因爲標準回購是標記爲64位...所以我不想加載只能運行在32位上的紅寶石,或者通過指定錯誤的分支來加載不同的體系結構) –

+0

命令'rvm list'和'rvm list known'將顯示什麼可以安裝。這些信息開始討論如何安裝Rubies,您可以將它們編譯並存儲在您選擇的存儲庫中。 64位等與名稱等移動目標無關,他們的存儲庫可以保持32位。這只是靈活的方式。正如他所說,殭屍是簡單的名字。 – vgoff

0

你提出的是從rvm list remote輸出 - 這表二進制(已編譯)紅寶石爲您的系統,看看版本上運行rvm list的更可能的選擇,其中將包括1.8.7

# MRI Rubies 
[ruby-]1.8.6[-p420] 
[ruby-]1.8.7[-p374] 
[ruby-]1.9.1[-p431] 
[ruby-]1.9.2[-p320] 
[ruby-]1.9.3[-p448] 
[ruby-]2.0.0-p195 
[ruby-]2.0.0[-p247] 
[ruby-]2.0.0-head 
ruby-head 

,並與繼續其他ruby發行版的數量。

如果不知道你永遠可以運行:

rvm install 1.8.7 

RVM做各類檢測的,將最有可能知道做什麼用指定的版本做。

+0

rvm list rvm rubies #尚未安裝rvm紅寶石。嘗試'rvm幫助安裝'。 –

+0

rvm install 1.8.7 尋找二進制紅寶石,這可能需要一些時間。 沒有二進制紅寶石可用於:ubuntu/12.04/x86_64/ruby​​-1.8.7-p374。 繼續編譯。請閱讀'rvm help mount'以獲取關於二進制紅寶石的更多信息。 你用'gcc-4.4'請求建築,但它不在你的道路上。 –

+0

AFAICS「rvm list」列出了您計算機上當前可用的紅寶石......我的機器上目前沒有紅寶石.. 「rvm install」給出了我已經討論過的錯誤 - 因爲存儲庫沒有1.8.7 –

0

供將來參考:我想通了。

的重要線索是在結果的RVM的最後一行安裝:

You requested building with 'gcc-4.4' but it is not in your path. 

我有gcc版本4.6,但我的.zshrc(從我以前的計算機複製)指着這個舊版本。

因此,rvm認爲我沒有c編譯器。這意味着rvm無法從源代碼安裝任何紅寶石 - 僅預編譯的紅寶石 - 這意味着它僅限於那些已經爲我的平臺預編譯的(即64位ubuntu 12.04)

當我修復了我的.zshrc中的gcc行 - rvm能夠弄清楚如何安裝+編譯源代碼的紅寶石 - 包括v1.8.7