宝石安装来自哪里?

时间:2018-11-06 23:39:55

标签: ruby oauth rubygems

我想知道在浏览示例时,如何在安装gems时找到源库。例如,我有

require 'oauth2'

安装,我运行

gem install oauth2

从哪个存储库中进行gem安装?我想使用反射对样本中的某些调用进行反向工程。

2 个答案:

答案 0 :(得分:3)

默认情况下,gem从主要的宝石存储库Rubygems中提取,但是如果您给它提供URL或使用--source选项来指定备用源,则可以从任何地方安装。有些人倾向于使用私有gem托管作为其依赖项。

为什么不使用Gemfile来管理依赖项?这使它更加清晰:

source 'https://rubygems.org/'

gem 'oauth2'

然后安装:

bundle install

然后您可以看到它的安装位置:

bundle show oauth2

从那里您可以查看源代码。您还可以查看gem listing page for oauth2,其中提供了指向文档和源的链接。

答案 1 :(得分:1)

有一些有用的选项可用于查看红宝石宝石的源代码。 正如@tadman所提到的,您通常可以期望将默认的gem源托管在https://rubygems.org上,并且强烈建议使用Bundler

在许多情况下,开源代码将托管在https://github.com上。我倾向于选择派生gem资源并在本地下载我的派生文件,以便在编辑器中对其进行分析,而不必担心会意外破坏任何东西,因为您的分叉的回购将包含完整的git历史记录/回购等。

如果您不熟悉ruby,我强烈建议您使用ruby版本管理器,即RVMRBENV,尽管我倾向于发现RVM更为简单且问题较少。

我个人最喜欢的红宝石代码入侵/检查工具是PRY

相关问题