2011-11-03 60 views
2

我正在为一个项目添加一些功能给一个脆弱的,写得不好的Rails 2.3应用程序。我试图只安装一颗宝石,但是当我运行'gem install'时,我犯了一个错误,它更新了29个宝石,包括一些Rails宝石!撤销宝石安装?

我知道我可以手动删除每个新的宝石版本,但我想知道是否有回滚宝石安装和撤消所有29个更新的选项。我正在使用rubygems 1.4.2,并没有升级选项。

回答

1

有今天这起事故......我刚写一个简短的脚本来解决这个问题:

#!/bin/sh 

while read line; do 
    package=`echo $line | awk '{print $3}' | sed 's/\([a-z0-9_-]*\)-.*/\1/'` 
    version=`echo $line | awk '{print $3}' | sed 's/[a-z0-9_-]*-\(.*\)/\1/'` 
    gem uni $package -v $version 
done < accident 

accident是叛徒的只是输出安装:

Successfully installed builder-3.0.0 
Successfully installed activemodel-3.2.6 
Successfully installed rack-1.4.1 
Successfully installed rack-cache-1.2 
Successfully installed rack-test-0.6.1