是否存在由于依赖关系冲突(例如库版本不同)而导致两个软件无法安装在一起的情况?
Linux 用户社区如何管理这种情况?
答案1
将库安装到另一个目录(例如/usr/local/lib
),然后设置LD_LIBRARY_PATH
环境。
LD_LIBRARY_PATH=/usr/local/lib command
答案2
是的,系统管理员经常会遇到两个软件包无法很好地共享一台机器的情况。
正如您所推测的那样,不同的库版本可能是一个原因。当使用默认设置安装时,实现相同功能的两个软件包通常会发生冲突。人们希望在同一台机器上安装这两个软件包的原因各不相同,适当的解决方案也各不相同。
对于某些情况,只需使用一个设置适当 LD_LIBRARY_PATH 等的脚本就足够了。对于某些情况,最安全的方法是使用来宾虚拟机。
Ruby 工程师经常需要在同一台机器上安装多个版本,因此他们想出了 rvm,这是一个帮助管理并行安装的安装、维护和使用的工具。
答案3
除了以下方法之外Ipor Sircer 描述,还有许多其他方法:
虚拟环境如python 的 virtualenv和红宝石的捆绑器。