是否有用于将RVM default.gems文件转换为Bundler Gemfiles的实用程序?

时间:2011-03-22 18:51:21

标签: rubygems rvm bundler

如果我正在设置一个项目来使用Bundler,并且我已经有一个项目的RVM gemset,那么有一种简单的方法可以将gemset列表导出到Gemfile(或者,就此而言,转换default.gems文件格式为Gemfile)?或者我们都只是找到并替换?

4 个答案:

答案 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