Ruby:获取require的gem名称

时间:2011-03-17 22:42:25

标签: ruby gem require

我刚刚安装了unicode-gem,它被称为“unicode”,但我不能要求require "unicode"

有一个命令可以检索你需要的宝石名称,但是我忘记了它,并且无法通过谷歌找到它。

又是怎么回事?

1 个答案:

答案 0 :(得分:2)

看起来这应该是gem规范的一部分。所以我一直在一些rubygems gem的模块中查找,看看是否有办法以编程方式找到正确的{{1字符串。到目前为止我还没有找到任何东西。这对我来说似乎是个漏洞;我遇到了你正在谈论的问题,这很痛苦。 gem-writer是知道字符串的人,所以它应该在* .gemspec文件中。

我的建议是在命令行运行require,在“GEM PATHS”显示的目录中运行gem env,然后运行到cd目录,然后是有问题的宝石。在该目录中查找README或类似文件,看看他们说了什么。如果没有找到,请运行:

gems

然后查看可能的候选字符串的结果。如果有“测试”目录,请先将“grep -r require * ”更改为“*”,以便将结果降低到更可能的点击次数。

例如,Net :: SSH gem称为“net-ssh”,但使用test需要gem。使用grep搜索显示了很多net/ssh的实例。