如果我正在设置一个项目来使用Bundler,并且我已经有一个项目的RVM gemset,那么有一种简单的方法可以将gemset列表导出到Gemfile
(或者,就此而言,转换default.gems
文件格式为Gemfile
)?或者我们都只是找到并替换?
答案 0 :(得分:5)
我想为旧的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
像这样使用
$ gem list | ./to_gemfile.rb
答案 1 :(得分:4)
rvm中有一个命令:
rvm gemset export Gemfile
它将生成Gemfile
包含gemset中的所有宝石。
答案 2 :(得分:3)
运行“捆绑安装”!
它将使用在命令行下安装在RVM下的gem(如果它们已经安装)
在Bundler上查看Ryan Bates RailsCast:http://railscasts.com/episodes/201-bundler
答案 3 :(得分:1)
看起来rails_upgrade插件通过其rake rails:upgrade:gems
任务提供此功能。它对这个rake任务的描述是:
从config.gem指令生成Gemfile