Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac OS X上设置RDOCRubyGem默认值_Ruby_Macos_Rubygems_Rdoc - Fatal编程技术网

在Mac OS X上设置RDOCRubyGem默认值

在Mac OS X上设置RDOCRubyGem默认值,ruby,macos,rubygems,rdoc,Ruby,Macos,Rubygems,Rdoc,我最近通过RubyGems安装了RDoc版本(2.4.3),以取代MacOSX附带的版本(1.0.1)。不幸的是,在命令行中调用run“RDoc”时,我仍然只能使用rdoc1.0.1。rdoc-v返回: RDoc V1.0.1 - 20041108 我试图修改$PATH变量以将第一个条目指向RDOC2.4.3文件夹,但没有成功。我在网上也找不到关于这个的任何信息,所以我想我应该在这里问一下 干杯 更新: 运行“gem list-d--1.0.1版rdoc”返回: *** LOCAL GEMS

我最近通过RubyGems安装了RDoc版本(2.4.3),以取代MacOSX附带的版本(1.0.1)。不幸的是,在命令行中调用run“RDoc”时,我仍然只能使用rdoc1.0.1。rdoc-v返回:

RDoc V1.0.1 - 20041108
我试图修改$PATH变量以将第一个条目指向RDOC2.4.3文件夹,但没有成功。我在网上也找不到关于这个的任何信息,所以我想我应该在这里问一下

干杯

更新:

运行“
gem list-d--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
因此,绝对是Mac OSX版本的RDoc干扰了Gems版本

更新2:

我发现,使用:

`bash --debugger rdoc` 
旧版本的RDoc位于/opt/local/bin中。我删除了它,并将我的gems目录添加到我的$PATH中

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

我现在有一份最新RDoc的新工作副本

这个问题告诉您,您的两个版本安装在不同的gem存储库中

试试这个:

gem list -d --version 1.0.1 rdoc
gem list -d --version 2.4.3 rdoc
这将为您提供安装gems的详细信息。如果可以,请卸载旧版本

gem uninstall --install-dir /old/gem/repository --version 1.0.1 rdoc
如果在非标准位置安装了新版本,则可能需要将该存储库的bin目录添加到path中,并将该目录添加到
GEM_path
环境变量中。因此,在您的
.login
.bash\u配置文件
或任何内容中:

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

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

您还可以在
~/.gemrc
文件中设置
GEM\u路径
,但命令行工具并不总是读取该路径。

我在运行Instant Rails的Windows上也遇到过类似问题。最后,我将我的
ruby/lib/ruby/1.8/rdoc
目录重命名为
rdoc.bak
,从那时起,我的rake任务就可以使用新的gem-rdoc正确运行了。

只是一个想法……在Linux中,我们通常会创建一个指向现有路径中缺少的二进制文件的链接(即/opt/local/bin/rdoc)。在你的情况下,我们会这样做: ln-s/opt/local/bin/rdoc/usr/local/lib/ruby/gems/1.8/gems/rdoc

这样,$PATH变量就不那么杂乱了,您可以更好地控制正在使用的二进制文件


希望这有帮助

使用RVM(Ruby版本管理器)对我来说是开箱即用的。

谢谢Sarah,问题不在于Ruby Gems安装的两个RDoc版本有冲突;我的Mac上Leopard附带的RDoc版本与Ruby Gems安装的RDoc版本相冲突。我运行了gemlist-d——版本1.0.1rdoc。它返回:**LOCAL GEMS***rdoc(2.4.3)作者:埃里克·霍德尔、戴夫·托马斯、菲尔·哈格尔伯格、托尼·斯特劳斯·鲁比福格:主页:安装地址:/usr/LOCAL/lib/ruby/GEMS/1.8Hmm。我仍然建议删除旧版本。如果它不是一个典型的宝石安装,我会说删除它。另一件需要检查的事情是,/usr/local/lib/ruby/gems/1.8/bin在您的路径中,尽管听起来您可能有。