繁体   English   中英

获取RubyGems上特定版本的宝石的所有依赖关系

[英]Get all dependencies of a specific version of a Gem on RubyGems

使用RubyGems API,我需要请求gem的所有版本(带有api / v1 / versions / [gem] .json),然后,针对每个版本,列出所有依赖项,例如api / v1 / gems /的结果[gem] .json。

我看了一下,最好的方法是在特定版本上调用api / v1 / versions / [gem]-[version] .json,但它不提供此版本的依赖项。

还有另一种方法来获取特定版本的gem的所有依赖项吗?

我找到了解决方案。 最好的(也是唯一的方法)是使用gem的依赖文件,该文件列出了每个版本的gem的所有依赖。 要获取此文件,必须调用API的依赖项地址: http : //guides.rubygems.org/rubygems-org-api/#misc-methods (最后一个)。

之后,这几行代码会完成所有工作,以获取特定版本的依赖项:

  url          = URI("https://rubygems.org/api/v1/dependencies?gems=#{gem_name}")
  dependencies = Net::HTTP.get(url)
  data         = Marshal.load(dependencies).each do |dependency|
    break dependency if dependency[:number] == gem_version
  end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM