Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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
Ruby 玩具/文件未定义方法';可用?';_Ruby - Fatal编程技术网

Ruby 玩具/文件未定义方法';可用?';

Ruby 玩具/文件未定义方法';可用?';,ruby,Ruby,我正试图按照这里的建议构建本地Ruby文档: 但是,当我使用默认的Rakefile时,我会得到以下结果: [Documentation]$ rake build configuring and updating: 100.0% rake aborted! undefined method `available?' for Gem:Module /Users/snowcrash/.rvm/gems/ruby-2.0.0-p195/gems/sdoc-0.2.20/lib/sdoc/json_ba

我正试图按照这里的建议构建本地Ruby文档:

但是,当我使用默认的Rakefile时,我会得到以下结果:

[Documentation]$ rake build
configuring and updating: 100.0%
rake aborted!
undefined method `available?' for Gem:Module
/Users/snowcrash/.rvm/gems/ruby-2.0.0-p195/gems/sdoc-0.2.20/lib/sdoc/json_backend.rb:9:in `<top (required)>'
[文档]$rake build
配置和更新:100.0%
雷克流产了!
Gem:模块的未定义方法“可用”
/Users/snowcrash/.rvm/gems/ruby-2.0.0-p195/gems/sdoc-0.2.20/lib/sdoc/json_backend.rb:9:in`'

有什么建议吗?

我对ruby了解不多(对围绕ruby构建的gem生态系统了解更少),但我相信解决这个问题的一个可能方法是找到项目需要什么gem并手动安装它们。在这个特定项目中,看起来您需要gem“fspath”

在项目根目录下,键入

gem install fspath
并尝试重新运行rake

老实说,我不知道问题的实际根源,除此之外,您的“gem”程序版本可能>v2,而其他一些程序(rake?)预计它会更旧,并且仍然支持“available?”方法

如果安装“fspath”无法解决问题,您可以尝试通过执行以下操作来降级您的gem版本

gem install -v [some version of gem older than v2]

查看gem安装-帮助以了解更多信息。

这仅适用于有相同问题的未来访问者

正如ekremkaraca所说,你可以通过降低rubygems的等级来解决这个问题

rvm安装--force rubygems 1.4.2

Gem::Module#可用?
已被rubygems 2的版本弃用。