pjm*_*rse 6 rubygems bundler rvm
如果我正在设置一个使用Bundler的项目,并且我已经有一个项目的RVM gemset,有没有一种简单的方法可以将gemset列表导出Gemfile(或者,就此而言,将default.gems文件转换为Gemfile格式)?或者我们都只是找到并替换?
我想为旧的rails项目生成一个Gemfile,我写了这个小脚本来帮助我.
#!/usr/bin/env ruby
#Save in file to_gemfile.rb
gem_file = File.open("Gemfile", "w")
gem_file.write("source :rubygems\n")
STDIN.readlines.each do |line|
line = line.chomp
line =~ /(.*)\s\((.*)\)/
gem_name = $1
versions = $2.split(",")
gem_file.write("gem \"#{gem_name}\", \"#{versions.first}\"\n")
end
gem_file.close
Run Code Online (Sandbox Code Playgroud)
像这样使用它
$ gem list | ./to_gemfile.rb
Run Code Online (Sandbox Code Playgroud)
rvm 中有一个命令:
rvm gemset export Gemfile
Run Code Online (Sandbox Code Playgroud)
它将Gemfile与宝石集中的所有宝石一起生成。