【发布时间】:2013-07-18 15:18:05
【问题描述】:
我刚刚在我的 CentOS 6.4 系统上安装(从源代码构建)Ruby 1.9.3,但不久之后发现我应该先安装 libyaml。
如何卸载 Ruby 1.9.3,以便在重新构建和重新安装 Ruby 之前安装 libyaml?我是否应该与 libyaml 同时安装任何其他库以避免再次执行此操作?
如果有什么不同,我是在未连接到互联网的机器上执行此操作的。
【问题讨论】:
我刚刚在我的 CentOS 6.4 系统上安装(从源代码构建)Ruby 1.9.3,但不久之后发现我应该先安装 libyaml。
如何卸载 Ruby 1.9.3,以便在重新构建和重新安装 Ruby 之前安装 libyaml?我是否应该与 libyaml 同时安装任何其他库以避免再次执行此操作?
如果有什么不同,我是在未连接到互联网的机器上执行此操作的。
【问题讨论】:
重新编译和重新安装似乎工作正常。
【讨论】:
如果您从源代码构建并保留源代码,那么您应该能够运行:
$ cd path/to/ruby/source
$ make uninstall
你可能需要 sudo 它。
如果您没有保留源代码,那就更麻烦了。您必须找到安装创建的所有文件并手动删除它们。在 CentOS 上你应该有 locate 命令,所以只需运行:
$ sudo updatedb
$ locate ruby
这将为您提供一长串文件。您应该能够确定哪些已安装并删除它们。
在重建时,包括 libreadline(可能不是确切的名称)。为此,我不得不多次重新构建 ruby。
【讨论】:
Makefile 指定了您可以执行和不可以执行的操作,并且在几乎所有基于 make 的项目中都存在一些支柱,例如 make、make install 和 make uninstall。
make uninstall 不起作用 - 显然我使用的构建没有那个功能。