也就是说,如果您需要更新版本的软件,至少尝试使用软件包而不是通过make安装;制作.
对于Ruby 1.9.3,有人制作了一个spec文件:
https://github.com/imeyer/ruby-1.9.3-rpm
您应该能够使用它来为Ruby 1.9.3制作RPM,并以这种方式安装.如果没有别的,它将使更新更容易(即rpm -Uhv ruby-1.9.3而不是make; make install).当然,当你发布更新时,你仍然有责任为自己生成新的Ruby 1.9软件包.
通常,存在安装软件的优先级层次.
>供应商存储库提供的软件.在这种情况下,您将使用友好的友好管理系统来安装和更新供应商维护的包(例如,yum,apt-get).
>通过第三方存储库提供的软件.这里应该有一个小型层次结构,你可以在那里拥有信誉良好的存储库(例如,针对CentOS的EPEL),而不是那些(例如,某些人在Ubuntu上的PPA;我不是说人们试图通过它安装特洛伊木马PPA,更多的是这通常是某些人可能没有维护包,或者可能没有寻找兼容性问题的人提供的东西.
>通过您自己构建的软件包安装的软件.这是前面提到的spec文件将落在哪里.您将构建过程包装在您的发行版的软件包系统中,因此安装和升级很容易(例如,rpm -e,而不是通过/usr/local搜索加密命名的文件).随着更新的出现,您将承担构建新软件包的责任.
>没有包管理安装的软件.这是经典的wget software.tgz; tar xzvf software.tgz; cd软件; ./配置 ;制作make install.通常,你会在/usr/local遍布文件;可能很难获得有关软件的信息(即,您可以简单地运行rpm -q或rpm -ql),并且很难删除.这应该是最后的手段.
我认为3左右的地方是Alex提到的rvm方法.它不是真正的系统包,但有一个围绕Ruby安装的框架.使用Ruby,在RVM上下文中,与特定Ruby相关联的gem将通过gem install安装并在特定框架中进行管理,尽管不是OS的包管理系统.