2009-04-20 99 views
2

我最近通過Ruby gems安裝了RDoc版本(2.4.3),以替換隨Mac OS X(版本1.0.1)提供的版本。不幸的是,當我在命令行調用運行「rdoc」時,我仍然只能使用RDoc 1.0.1。 -v的RDoc回報:在Mac OS X上製作RDoc Ruby Gem默認設置

RDoc V1.0.1 - 20041108 

我試圖修改$ PATH變量指向的第一個條目的RDoc 2.4.3文件夾,但沒有運氣。我在網上找不到任何東西,所以我想我會在這裏問。

乾杯!

更新:

運行 「gem list -d --version 1.0.1 rdoc」 的回報:

*** LOCAL GEMS *** 

rdoc (2.4.3) 
    Authors: Eric Hodel, Dave Thomas, Phil Hagelberg, Tony Strauss 
    Rubyforge: http://rubyforge.org/projects/rdoc 
    Homepage: http://rdoc.rubyforge.org 
    Installed at: /usr/local/lib/ruby/gems/1.8 

    RDoc is an application that produces documentation for one or more 
    Ruby source files 

因此,它絕對的RDoc的Mac OSX上的版本,與寶石的版本干擾。

更新2:

我發現,使用:

`bash --debugger rdoc` 

,老版本的RDoc的是在/ opt/local/bin目錄。我刪除了它,並加入我的寶石目錄到我的$ PATH

`export PATH=/usr/local/lib/ruby/gems/1.8/gems/` 

我現在有最新的RDoc的新的工作副本!

回答

2

這個問題告訴你,你的兩個版本安裝在不同的寶石資源庫。

試試這個:

gem list -d --version 1.0.1 rdoc 
gem list -d --version 2.4.3 rdoc 

這會給你所安裝的寶石,其中的詳細信息。如果可以,請卸載舊版本。

gem uninstall --install-dir /old/gem/repository --version 1.0.1 rdoc 

如果安裝在一個非標準的地點有新的版本,你可能需要到倉庫的bin目錄添加到您的路徑和目錄添加到您的GEM_PATH環境變量。因此,在您.login.bash_profile或什麼:

PATH = $PATH:/new/gem/repository/bin 
export PATH 

GEM_PATH = $GEM_PATH:/new/gem/repository 
export GEM_PATH 

您還可以設置GEM_PATH~/.gemrc文件,但是這並不總是通過命令行工具讀取。

+0

由於莎拉的方塊, 問題不是由紅寶石寶石衝突的安裝RDoc的兩個版本; Mac上Leopard附帶的RDoc版本與從Ruby Gems安裝的RDoc衝突。 我跑了寶石列表-d --version 1.0.1 rdoc。它返回: ***當地的寶石*** 的RDoc(2.4.3) 作者:埃裏克·霍德爾,戴夫·托馬斯,菲爾Hagelberg,託尼·施特勞斯 RubyForge上:http://rubyforge.org/projects/rdoc 首頁:http://rdoc.rubyforge.org 安裝在:/usr/local/lib/ruby/gems/1.8 – jkale 2009-04-20 20:00:47

+0

嗯。我仍然建議刪除舊版本。如果它不是一個典型的寶石安裝,我會說只是刪除它。另一件要檢查的事情,雖然聽起來可能是你的,但是/usr/local/lib/ruby/gems/1.8/bin在你的路徑中。 – 2009-04-20 20:36:42

0

我在運行Instant-Rails的Windows上遇到類似的問題。最後,我只是將我的ruby/lib/ruby/1.8/rdoc目錄重命名爲rdoc.bak,從那時起,我的rake任務就可以使用新的gem rdoc正確運行。

0

只是一個想法...在Linux中,我們通常會創建指向現有路徑中缺少的二進制文件的鏈接(即/ opt/local/bin/rdoc)。在你的情況下,我們可以這樣做: ln -s/opt/local/bin/rdoc /usr/local/lib/ruby/gems/1.8/gems/rdoc

這樣$ PATH變量保持不變少一點混亂,你可以更好地控制你正在使用的二進制文件。

希望這有助於!

0

對我的作品進行使用RVM(Ruby的版本管理器)