2011-05-11 68 views
5

我試圖在Ubuntu上安裝BDB作爲寶石如下,使用RVM,如何確保寶石和非寶石看到相同版本的紅寶石?

gem install bdb 
我沒有使用sudo,因爲我用RVM安裝

。我的系統上的ruby版本是1.9.1,但我用於此安裝的版本是1.8.7(我正在安裝rbot,您會看到)。我遇到的問題是:

checking for db_version() in -ldb-4.something... no 

我想這意味着RubyGems是不是它正在尋找的地方找到ldb4.something。這是因爲我使用sudo安裝了libdb-4.something(實際上是7),而我的系統的ruby版本與我用於bdb的ruby版本不同?使用rvm,我應該如何處理這種情況?也許我做錯了,但在我看來,我的問題是,並非我所使用的所有東西都是寶石,而非寶石的東西卻看到了錯誤的紅寶石版本。如果事實證明我的問題是完全不相關的:我仍然對這個問題感興趣。在我的系統上安裝了特定版本的ruby,並且使用不同的rvm安裝了gem的情況下,我的系統如何在不同的系統下安裝了不同的gem紅寶石的版本?)

回答

4

「如何做事情我已經安裝在我的系統上使用Ruby的特定版本的寶石相處下不同版本的紅寶石使用RVM裝?」

他們不這樣做,那就是點。 RVM用於管理不同版本的Ruby,以便它們彼此隔離。

這意味着你使用的系統(當你這樣做sudo gem install將被安裝到系統)有什麼用當前的環境做Ruby版本(當正確設置。)

當你在一個RVM環境,每個安裝的Ruby版本都是一個獨立的環境。

我建議是這樣的:

  1. 轉到RVM網站,並檢查了。
  2. 在頁面的最後,繼續閱讀關於如何使用gemsets的內容。
  3. 去你的項目目錄
  4. RVM使用[email protected]_project_environment
  5. 創建.rvrmc文件,這樣你將自動使用到這個項目將來訪問你的項目這樣的環境中,這個文件可以包含「rvm使用[email protected]_project_environment」將實現這一點。
  6. 安裝所有需要的寶石

如果您有其他疑問,請隨時訪問韋恩E. Seguin的一噸RVM的其他用戶,我們將竭誠爲您排憂解難。當然,首先搜索答案是網站上的文檔。

+0

我覺得這不是我的問題不夠明確,但:這裏的關鍵是有問題的依賴是不是寶石。它與apt-get一起安裝。所以也許我的問題真的與包管理者如何交互?感謝您的幫助,該文檔非常有趣! – Ziggy 2011-05-27 05:27:47

+1

@Ziggy很可能你需要在安裝openssl/zlib之類的軟件包後重新安裝ruby,但對於某些軟件包來說,它不會像ruby-something一樣工作,這個軟件包只能通過apt-get安裝的ruby – mpapis 2012-08-30 00:30:03