gpt4 book ai didi

ruby-on-rails - 解析 gemfile 并获取 rails 项目中使用的所有 gem

转载 作者:行者123 更新时间:2023-12-04 00:44:48 24 4
gpt4 key购买 nike

我正在编写一个脚本来从 rails 项目的 gemfile 中获取所有 gem。脚本是这样的

     @gem_file_path=File.expand_path('../Gemfile', __FILE__) || ENV['BUNDLE_GEMFILE']      ||  Dir.pwd + "/Gemfile"
File.open(gem_file_path).read.each_line do |i|
i=i.split
if i[0] == "gem" && i[0].start_with?("gem")
name = i[1].gsub(",","")
gem_name= eval name
author_email_id=Gem::Specification.find_by_name(gem_name.to_s).email
author_name=Gem::Specification.find_by_name(gem_name).author
end
end

有没有更好的方法呢?因为当 gemfile 和其他可能性中提到类似下面的内容时,我也会遇到问题

        gem 'rspec-rails',:group => [:test,:development]

谢谢

最佳答案

对于像我这样多年后偶然发现这个问题的任何人,我发现您可以通过执行以下操作来访问 Gemfile 中引用的 gem,而无需实际运行 gemfile:

Bundler::Definition.build('Gemfile', nil, {}).dependencies

这里的'Gemfile'应该是从当前文件到Gemfile的路径。

感谢 Troy Verbrugge 对捆绑程序代码的挖掘。

关于ruby-on-rails - 解析 gemfile 并获取 rails 项目中使用的所有 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com