2009-04-20 96 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的版本管理器)