我寫一個腳本來從Gemfile中所有寶石從軌project.Script是這樣解析的Gemfile並獲得在軌使用的所有寶石項目
@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和照顧的特殊情況下,像你的最後一個例子。在腳本中運行shell命令。但我還沒有嘗試過自己呢.. – Mattherick