如何查看我机器上安装的gem的源代码?

时间:2014-01-15 18:16:14

标签: ruby-on-rails ruby devise

我在我的Rails应用程序中安装了Devise,我想阅读源代码并了解它是如何工作的。我查看了我的Rails应用程序的整个文件夹结构,但找不到任何代码(方法调用除外)。

我知道我可以从Github存储库中看到源代码,但我希望在我的编辑器和本地机器上看到它。

我猜这个代码必须在一些主要的Ruby目录中,但我找不到它。任何帮助表示赞赏。感谢。

5 个答案:

答案 0 :(得分:7)

尝试gem unpack,它会将gem的源代码复制到当前目录。例如,

gem unpack rails

文档:gem unpack

答案 1 :(得分:7)

除了塞尔吉奥的建议外,还有另一种选择。

在你的Rails路径中

$ bundle open devise

这将在编辑器中使用Gemfile中指定的版本打开已安装的gem,非常方便。

答案 2 :(得分:2)

只需运行bundle show <gem-name>, 它将列出gem源代码的绝对路径,并在下一步中使用像这样的文本编辑器简单地打开源代码 subl <gem-code-absolute-path>

例如

我们假设你想阅读kaminari宝石代码

bundle show kaminari

  

/home/abdullah/.rvm/gems/ruby-2.3.0@your_gem_name/gems/kaminari-0.16.3

下一步(subl是使用Sublime Text Editor打开的命令)

subl /home/abdullah/.rvm/gems/ruby-2.3.0@your_gem_name/gems/kaminari-0.16.3

答案 3 :(得分:1)

运行gem environment - 这会显示有关您宝石的所有信息,包括其位置。

此外,我建议您安装一些具有go to source功能的IDE - RubyMine非常出色(并且有30天的免费试用期),如果您想完全免费使用{{3} }。此功能允许您快速导航到单击方法的源,无论它是在代码内还是在gem内定义。

答案 4 :(得分:0)

在本地计算机中克隆github repo并使用首选编辑器进行探索:

git clone https://github.com/plataformatec/devise.git