复制并粘贴“嗨,我是Ruby / Ruby on Rails的新手。”
我正在运行Windows 8.1。我的设备上安装了两个过时版本的PostgresSQL Rubygem(pg
): - v 0.9.0
和-v 0.18.2
。我正在尝试卸载这两个,但是当我输入命令gem uninstall pg -v '0.9.0'
时,就好像什么都没发生一样。除安装捆绑包外,我安装了-v 0.9.0
。
我已经尝试过使用命令:
ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.empty? }"
这应该删除所有内容 - 但除了pg
宝石之外它删除了所有内容。我应该用什么命令来卸载pg
宝石?
答案 0 :(得分:0)
尝试import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class GenericBinarySearch{
private int midPoint(int iMin, int iMax){
return iMin + (iMax - iMin)/2;
}
public <T> int search(List<T> list, T Key, int iMin, int iMax, Comparator<T> comparator){
if(list == null || list.size() == 0){
return -1;
}
int iMid = midPoint(iMin, iMax);
if(iMid > iMax || iMid < iMin){
return -1;
}
if(comparator.compare(list.get(iMid), Key) > 0){
return search(list, Key, iMin, iMid-1, comparator);
}else if(comparator.compare(list.get(iMid), Key) < 0){
return search(list, Key, iMid+1, iMax, comparator);
}else{
return iMid;
}
}
public static void main(String[] args) {
GenericBinarySearch bs = new GenericBinarySearch();
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
int key = 2;
int iMin = 0;
int iMax = list.size()-1;
//Java 8 - Lambda expressions
// new Comparator( public T int compare(T o1, T o2) {
// return o1.compareTo(o2);
// }) ---> same expression is replaced by
// (T o1, T o2) -> o1.compareTo(o2) or (o1,o2) -> o1.compareTo(o2)
int index = bs.search(list, key, iMin, iMax, (o1,o2) -> o1.compareTo(o2));
System.out.println(index);
}
}
查看您的&#34; pg&#34;宝石已安装。也许他们与您期望的目录不同(可能具有不寻常的权限)。
尝试gem list --details
删除不属于该捆绑包的所有宝石。 (您还可以添加bundle clean --force
以查看其计划执行的操作。)
根据您的安装方式,您可以考虑重新安装Ruby。
祝你好运!