2012-09-24 31 views
2

由於某些原因(Oracle,我在看你),我需要能夠使用32位和64位版本的ruby。我可以同時使用rbenv同時安裝32個32位的& 64位版本嗎?當我運行rbenv版本時,我將如何區分它們?rbenv:在同一臺機器上並排安裝32位和64位版本的紅寶石

現在我正在使用1.9.2的32位版本和1.9.3的64位版本。我寧願有一個32位版本1.9.3。

更新:

現在我剛選擇使用不同的補丁。必須有一個更好的辦法...

更新2:

爲了澄清我的情況,我使用在Mac OSX獅子運行的機器。

this link describes my main problem, no 64bit instant client for Lion

This link shows the only solution I've found to the problem

更新3:

這不再是一個問題,因爲甲骨文發佈a 64 bit instant client that works on Lion and Mountian Lion

+0

我不明白它是如何影響任何東西的。運行時是ruby語言的實現。代碼應該可以工作。你能指定更確切的爲什麼你需要兩個? *因爲AFAIK你可以使用64位* – 2012-10-04 13:33:03

+0

甲骨文即時客戶端沒有工作在獅子或山獅上運行的64位版本。因此,ruby oci gem只能用於32位版本的紅寶石。 – thatmiddleway

+0

在這種情況下,你不需要32位版本的ruby,你需要32位版本的任何庫oci調用。 Ruby的實現與此無關。 – 2012-10-04 22:15:49

回答

3

您可以在rbenv中安裝任意數量的Ruby任意版本。只要您在${RBENV_ROOT}/versions/中爲每個目錄/符號鏈接指定唯一的名稱,它並不在意。

默認情況下,似乎在OS X上構建的紅寶石是64位。例如,如果您可以瞭解如何配置Ruby的32位版本,則可以使用PREFIX="$(rbenv root)/versions/1.9.3-p194-32"進行安裝。那麼你可以使用該版本作爲任何其他:

RBENV_VERSION=1.9.3-p194-32 ruby -v 

在這裏我用「-32」前綴告訴版本分開。

+0

我一直這樣做,直到oracle終於發佈了一個適用於獅子和山獅的即時客戶端版本。最後,在這臺機器上不再有32位紅寶石! – thatmiddleway

相關問題