如何贡献Ruby Gem

时间:2014-08-11 20:48:16

标签: ruby command-line gem rubygems

我正在尝试为Ruby gem做贡献,而且我不了解如何在不使用全局安装的gem的情况下测试本地gem。

我想贡献的gem是命令行界面gem。我将gem克隆到一个目录中,然后cd到该目录中。但是,当我在克隆的项目目录中运行终端中的命令时,它仍然使用全局gem。我甚至跑了

gem uninstall gemname

然后在新克隆的gem目录里面重做

gem install gemname

无论我对宝石做出什么改变,我都无法看到结果或我的贡献正在做什么,因为它总是在运行全球宝石。

当我尝试在克隆的gem目录中输入应该与gem交互的命令行命令时,我得到:

-bash: ~/.gem/ruby/2.1.0/bin/githubrepo: No such file or directory

我做了大量的研究,但我还没有得到它。帮助

1 个答案:

答案 0 :(得分:1)

gem install gemname将在当前目录中查找.gem文件。如果没有找到,它将在网上查找。

gem install --local /path/to/your/gemname.gem将允许您定位特定目录。您可能需要先gem build gemname.gemspec,以便进行更改。

我会在gem目录本身编写测试,而不是这样做。在那里运行代码时,你可以简单地在Ruby中require 'gemname'来获取gem功能。

如果它是一个写得很好的宝石,它应该已经有了测试。它们很可能位于名为test或spec的目录中。看看这些测试并尝试继续以这种方式测试您的更改。这将使您的代码更改更有可能被接受为拉取请求。